Bạn đang lưu ý đến Hướng dẫn Java thiết kế Pattern – Template Method nên không? nào hãy cùng PHE BINH VAN HOC theo dõi nội dung bài viết này ngay dưới đây nhé!
Trong quá trình cách tân và phát triển ứng dụng, họ có các component khác biệt có sự tương đương đáng kể, nhưng bọn chúng không thực hiện interface/ abstract class chung, dẫn đến code duplicate ở các nơi. Trường hợp muốn biến hóa chung cho toàn bộ component, bọn họ phải đi sửa nghỉ ngơi từng vị trí trong component, làm cho tốn nhiều ngân sách không buộc phải thiết. 1 trong những những cách để giải quyết vấn đề này là thực hiện Template Method Pattern.
Bạn đang xem: Template method pattern là gì
Define the skeleton of an algorithm in an operation, deferring some steps khổng lồ client subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.
Bạn sẽ xem: template method pattern là gì
Template Method Pattern là giữa những Pattern thuộc nhóm hành vi (Behavior Pattern). Pattern này nói rằng “Định nghĩa một cỗ khung của một thuật toán trong một chức năng, chuyển nhượng bàn giao việc tiến hành nó cho những lớp con. Mẫu Template Method được cho phép lớp bé định nghĩa lại cách triển khai của một thuật toán, cơ mà không phải biến hóa cấu trúc thuật toán“.
Điều này tức là Template method giúp cho bọn họ tạo bắt buộc một cỗ khung (template) mang đến một vấn đề đang yêu cầu giải quyết. Trong các số ấy các đối tượng ví dụ sẽ tất cả cùng công việc thực hiện, nhưng trong những bước triển khai đó hoàn toàn có thể khác nhau. Điều này sẽ tạo nên một phương thức truy cập giống như nhau nhưng lại có hành vi và hiệu quả khác nhau.
Template Method Pattern được sử dụng tương đối nhiều trong mô hình Abstract – Concrete Class. Khi chúng ta muốn những Concrete class tự thực thi xử lí theo cách của nó, tuy thế đồng thời vẫn bảo vệ tuận theo đều ràng buộc nhất định từ Abstract class. Ví dụ như ràng buộc về máy tự quá trình thực hiện, giỏi ràng buộc về dữ liệu đầu vào, đầu ra, …
Trong Template method pattern, Abstract class khái niệm ra một template method để thực hiện một chức năng nào đó. Template method này sẽ hotline đến các method khác phía bên trong Abstract class nhằm tạo dựng nên bộ khung. Nhưng hoàn toàn có thể các method đó sẽ không còn được thực thi bên phía trong Abstract class, mà sẽ tiến hành override và xúc tiến lại bên trong các Concrete class.
Các thành phần gia nhập Template Method Pattern:
AbstractClass :Định nghĩa các phương thức trừu tượng mang lại từng bước có thể được kiểm soát và điều chỉnh bởi các lớp con.Cài đặt một thủ tục duy nhất tinh chỉnh và điều khiển thuật toán và gọi quá trình riêng lẻ đang được thiết lập ở những lớp con.Xem thêm: Các Thông Tin Về Bác Hồ Chí Minh, Tiểu Sử Chủ Tịch Hồ Chí Minh
ConcreteClass : là một trong những thuật toán vậy thể, thiết đặt các phương thức của AbstractClass. Những thuật toán này ghi đè lên những phương thức trừu tượng để cung cấp các xúc tiến thực sự. Nó quan trọng ghi đè phương thức duy nhất đang được thiết lập ở AbstractClass (templateMethod).Cấu trúc của một website thông thường gồm các phần header, footer, navigation (menu), body. Riêng rẽ phần body toàn thân thường xuyên vậy đổi, vẫn hiển thị riêng theo từng trang. Phần đông phần khác ít khi cố đổi, trừ khi bao gồm yêu mong đặt biệt. Cố kỉnh vì đề nghị viết toàn bộ các phần nghỉ ngơi mỗi trang, chúng ta cũng có thể gom chúng lại với đặt vào một template để tái thực hiện mà ko duplicate code ở những nơi.
PageTemplate.java
package exposedjunction.comlate; public abstract class PageTemplate protected void showHeader() exposedjunction.comtln(” ”); protected void showNavigation() exposedjunction.comtln(” ”); protected void showFooter() exposedjunction.comtln(” ”); protected abstract void showBody(); public final void showPage() showHeader(); showNavigation(); showBody(); showFooter();
HomePage.java
package exposedjunction.comlate; public class HomePage extends PageTemplate
Override protected void showBody() exposedjunction.comtln(“Content of home page page”);
DetailPage.java
package exposedjunction.comlate; public class DetailPage extends PageTemplate
Override protected void showBody() exposedjunction.comtln(“Content of detail”);
Tham khảo: vị trí cao nhất 50 hình ảnh đại diện facebook đáng yêu và dễ thương nhất 2022
ContactPage.java
package exposedjunction.comlate; public class ContactPage extends PageTemplate
Override protected void showNavigation() // Just vị nothing // Because we don’t want to lớn show navigation bar on contact page
Override protected void showBody() exposedjunction.comtln(“Content of contact page”);
TemplateMethodPatternExample.java
package exposedjunction.comlate; public class TemplateMethodPatternExample public static void main(String<> args) PageTemplate homePage = new HomePage(); exposedjunction.comPage(); exposedjunction.comtln(); PageTemplate detailPage = new DetailPage(); exposedjunction.comPage(); exposedjunction.comtln(); PageTemplate contactPage = new ContactPage(); exposedjunction.comPage();
Output của chương trình:
nội dung of home page page nội dung of detail content of liên hệ page
Tài liệu tham khảo:
https://sourcemaking.com/design_patterns/template_methodhttps://refactoring.guru/design-patterns/template-methodhttps://www.javatpoint.com/template-patternDesign Patterns: Elements of Reusable Object-Oriented Software – GOFDesign Pattern for dummiesChuyên mục: Behavior Pattern, kiến thiết pattern Được đính thêm thẻ: Behavior Pattern, thiết kế pattern
bình luận
Tham khảo: Vi sao nguyên dạn dĩ bị thẻ đỏ rời sân sinh hoạt phút 76, thủ thành nguyên mạnh bị loại bỏ khỏi team tuyển
Như vậy bên trên đây công ty chúng tôi đã trình làng đến bạn đọc Hướng dẫn Java thiết kế Pattern – Template Method. Hy vọng bài viết này góp ích cho bạn trong cuộc sống cũng như trong học tập tập thường ngày. Công ty chúng tôi xin tạm dừng nội dung bài viết này trên đây.
Thông báo: Phê Bình Văn học tập ngoài giao hàng bạn phát âm ở Việt Nam cửa hàng chúng tôi còn gồm kênh giờ anh exposedjunction.comEN cho bạn đọc bên trên toàn cụ giới, mời thính mang đón xem.