1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ án đề tài tìm HIỂU lý THUYẾT và các mẫu THIẾT kế PHẦN mềm có TRONG SPRING FRAMEWORK

62 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Lý Thuyết Và Các Mẫu Thiết Kế Phần Mềm Có Trong Spring Framework
Tác giả Quách Diệu Khánh, Phan Tấn Thành, Phạm Ngọc Đức, Võ Hữu Giàu
Người hướng dẫn Nguyễn Minh Đạo
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh
Chuyên ngành Mẫu Thiết Kế Phần Mềm
Thể loại báo cáo
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 62
Dung lượng 1,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Core Design Patterns được chia thành ba loại chính của mẫu thiết kế,như sau: + Creational Design Pattern: các mẫu trong danh mục này cung cấpmột cách để xây dựng các đối tượng khi các nh

Trang 1

TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

BÁO CÁO ĐỒ ÁN

ĐỀ TÀI:

TÌM HIỂU LÝ THUYẾT VÀ CÁC MẪU THIẾT KẾ PHẦN MỀM CÓ TRONG SPRING FRAMEWORK

Giảng viên hướng dẫn : Nguyễn Minh Đạo

Trang 2

1 Quách Diệu Khánh 191102

26 2

3

4

Phan Tấn Thành

Phạm Ngọc Đức

Võ Hữu Giàu

191102 88 191101 57 191101 96

Tên đề tài: Tìm hiểu Spring Framework và các mẫu thiết kế phần mềm có trong spring framework

Thời gian thực hiện: : 01/04/2022 – 20/05/2022

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 3

Nguyễn Minh Đạo

2 Overview of GOF Design Patterns - Core Design Patterns 7

Giới thiệu về sức mạnh của các mẫu Design Patterns 7

3 Consideration of Structural and Behavioral Patterns 18

4 Wiring Beans using the Dependency Injection Pattern 34

Types of dependency injection patterns 34Constructor-based dependency injection 34

Configuring the dependency injection pattern with Spring 36Annotating beans for autowiring Lookup-method injection pattern 36Implementing the Abstract Factory Pattern in Spring 37Implementation of FactoryBean interface in Spring 37

Trang 6

LỜI CẢM ƠN

Chúng em xin gửi lời cảm ơn chân thành đến Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật TP.HCM đã tạo điều kiện thuận lợi cho chúng em học tập và hoàn thành đề tài báo cáo này Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Minh Đạo đã truyền đạt kiến thức và hướng dẫn chúng em trong quá trình hoàn thành báo cáo.

Nhóm em đã cố gắng vận dụng những kiến thức đã học được trong học kỳ qua để hoàn thành bài báo cáo Nhưng do kiến thức hạn chế và không có nhiều kinh nghiệm thực tiễn nên khó tránh khỏi những thiếu sót trong quá trình nghiên cứu và trình bày Rất kính mong sự góp ý của thầy để bài báo cáo của nhóm em được hoàn thiện hơn.

Một lần nữa, nhóm em xin trân trọng cảm ơn sự quan tâm giúp đỡ của thầy đã giúp

đỡ nhóm em trong quá trình thực hiện bài báo cáo này.

Xin trân trọng cảm ơn!

Trang 7

2 Overview of GOF Design Patterns - Core

Design Patterns

1 Giới thiệu về sức mạnh của các mẫu Design Patterns

Trên thực tế, cụm từ Design Pattern không liên quan đến bất kỳ ngônngữ lập trình nào và nó cũng không cung cấp các giải pháp cụ thể cho cácvấn đề về ngôn ngữ, là một khái niệm kỹ thuật phần mềm mô tả các giảipháp định kỳ cho các vấn đề phổ biến trong thiết kế phần mềm Các mẫunày cũng đại diện cho các thực tiễn tốt nhất được sử dụng bởi các nhà pháttriển phần mềm có kinh nghiệm

Một mô hình thiết kế có ba đặc điểm chính:

+ Mẫu thiết kế dành riêng cho một kịch bản cụ thể hơn là một nềntảng Vì vậy, bối cảnh của nó là điều kiện xung quanh mà vấn đề tồn tại

Bối cảnh phải được ghi lại trong khuôn mẫu

+ Các mẫu thiết kế đã được phát triển để cung cấp các giải pháp tốtnhất cho một số vấn đề nhất định gặp phải trong quá trình phát triển phầnmềm.Vì vậy, điều này nên được giới hạn bởi bối cảnh mà nó đang đượcxem xét

+ Các mẫu thiết kế là phương thuốc cho các vấn đề đang được xemxét

2 Tổng quan về mô hình thiết kế GOF

Tác giả của cuốn sách có tiêu đề là GOF này là nhóm 4 người gồm

có Erich Gamma, Richard Helm, Ralph Johnson và John Vlissides Vấn đềtrong cuốn sách liên quan đến các yếu tố của phần mềm hướng đối tượng

Trang 8

có thể tái sử dụng, đã khởi xướng khái niệm về các mẫu thiết kế trong pháttriển phần mềm.

Các mẫu Gang of Four (GoF) gồm 23 mẫu thiết kế phần mềm cổđiển cung cấp các giải pháp cho các vấn đề phổ biến trong thiết kế phầnmềm Các mẫu này được phân loại thành hai loại chính:

+ Core Design Patterns + J2EE Design Patterns

Core Design Patterns được chia thành ba loại chính của mẫu thiết kế,như sau:

+ Creational Design Pattern: các mẫu trong danh mục này cung cấpmột cách để xây dựng các đối tượng khi các nhà thầu sẽ không phục vụmục đích của bạn Logic sáng tạo của các đối tượng được ẩn Các chươngtrình dựa trên các mẫu này linh hoạt hơn trong việc quyết định tạo đốitượng theo yêu cầu của bạn và các trường hợp sử dụng của bạn cho ứngdụng

+ Structural Design Pattern: các mẫu trong danh mục này liên quanđến thành phần của các lớp hoặc đối tượng Trong ứng dụng doanh nghiệp,

có hai kỹ thuật thường được sử dụng để tái sử dụng chức năng trong các hệthống hướng đối tượng: một là kế thừa lớp và hai là khái niệm thành phầnđối tượng của thừa kế hái niệm thành phần đối tượng của kế thừa được sửdụng để soạn thảo giao diện và xác định các cách để soạn thảo các đốitượng để có được các chức năng mới

+ Behavioral Design Pattern: các mẫu trong danh mục này, đặctrưng cho các cách mà các lớp hoặc đối tượng tương tác và phân phối trách

Trang 9

nhiệm Các mẫu thiết kế này đặc biệt quan tâm đến giao tiếp giữa các đốitượng Mô hình thiết kế hành vi được sử dụng để kiểm soát và giảm luồngứng dụng phức tạp trong ứng dụng doanh nghiệp.

Hơn nữa, JEE Design patterns, là loại chính khác của các mẫu thiết

kế Thiết kế ứng dụng có thể được đơn giản hóa vô cùng bằng cách ápdụng các mẫu thiết kế Java EE Các mẫu thiết kế của Java EE đã được ghilại trong các bản thiết kế Java của Sun

Các mẫu thiết kế Java EE này cung cấp các hướng dẫn giải phápđược thử nghiệm theo thời gian và các thực tiễn tốt nhất để tương tác đốitượng trong các lớp khác nhau của ứng dụng Java EE Các mẫu thiết kếnày đặc biệt quan tâm đến các lớp được liệt kê sau:

+ Design pattern at the presentation layer

+ Design pattern at the business layer

+ Design pattern at the integration layer.

3 Creational design patterns

Các mẫu thiết kế sáng tạo( Creational design patterns ) được liên kếtvới phương pháp tạo đối tượng Logic tạo của đối tượng được ẩn cho ngườigọi của đối tượng này

Cách này không phù hợp với một số trường hợp, bởi vì nó là mộtcách tạo mã cứng để tạo ra một đối tượng Nó cũng không phải là một thựctiễn tốt nhất để tạo ra một đối tượng bởi vì đối tượng có thể được thay đổitheo bản chất của chương trình

Trang 10

Do đó, mô hình thiết kế sáng tạo( Creational design patterns ) cungcấp sự linh hoạt để tạo ra một đối tượng theo bản chất của chương trình.

Factory design pattern

Xác định một giao diện để tạo một đối tượng, nhưng hãy để các lớpcon quyết định lớp nào sẽ khởi tạo Phương pháp này cho phép một lớp trìhoãn việc khởi tạo cho các lớp con

Theo mẫu thiết kế nhà máy(Factory) này, ta nhận được một đốitượng của một lớp mà không phơi bày logic cơ bản cho máy khách(client)

Nó gán một đối tượng mới cho người gọi bằng cách sử dụng một giao diệnchung hoặc lớp trừu tượng Điều này có nghĩa là mô hình thiết kế che giấulogic thực tế của việc thực hiện một đối tượng, cách tạo nó và lớp nào khởitạo nó Chịu trách nhiệm cho các nhiệm vụ này Mô hình nhà máy(Factory)

là một trong những mẫu thiết kế được sử dụng nhiều nhất trong Java

Những lợi ích của mẫu thiết kế nhà máy(Factory)

Mẫu nhà máy thúc đẩy khớp nối lỏng lẻo giữa các thành phần hoặclớp hợp tác bằng cách sử dụng các giao diện thay vì ràng buộc các lớpdành riêng cho ứng dụng vào mã ứng dụng bằng cách sử dụng mẫu này

Ta có thể thực hiện một đối tượng của các lớp thực hiện giao diện,khi chạy vòng đời đối tượng được quản lý bởi nhà máy được thực hiện bởi

mô hình này

Một số vấn đề chung nên sử dụng mẫu thiết kế này

+ Mẫu này loại bỏ gánh nặng cho nhà phát triển để tạo và quản lýcác đối tượng

Trang 11

+ Mẫu này loại bỏ sự kết hợp chặt chẽ giữa các thành phần cộng tác

vì một thành phần không biết các lớp con nào sẽ được yêu cầu để tạo

+ Tránh mã cứng để tạo một đối tượng của lớp

Thực thi mẫu nhà máy(Factory) vào Spring Framework

Spring Framework sử dụng mẫu này để thực thi container(nơi chứađựng tất cả các beans) sử dụng giao diện BeanFactory vàApplicationContext

Spring container hoạt động dựa trên mô hình nhà máy để tạo ra cácbeans cho ứng dụng Spring và cũng như quản lý vòng đời của mỗi beans

BeanFactory và ApplicationContext là các giao diện nhà máy vàSpring có rất nhiều lớp thực hiện Phương pháp GetBean () là phương phápnhà máy cung cấp beans sao cho phù hợp

Abstract factory design pattern

Cung cấp một giao diện để tạo các mối liên hệ giữa các đối tượngliên quan hoặc phụ thuộc mà không cần chỉ định các lớp cụ thể của nó

Đây là một mô hình thiết kế cao cấp so với mô hình thiết kế phươngpháp nhà máy Theo mẫu thiết kế này, bạn chỉ cần xác định một giao diệnhoặc lớp trừu tượng để tạo một đối tượng phụ thuộc có liên quan mà khôngcần chỉ định lớp con cụ thể của nó

Trong mô hình nhà máy trừu tượng, một giao diện chịu trách nhiệmtạo ra một nhà máy gồm các đối tượng liên quan mà không chỉ định rõ ràngcác lớp của chúng Mỗi nhà máy được tạo ra có thể cung cấp cho các đốitượng theo mẫu nhà máy

Trang 12

Những lợi ích của mô hình nhà máy trừu tượng(Abstract factory)

+ Cung cấp khớp nối lỏng lẻo giữa các thành phần liên quan Nócũng cách ly mã máy khách(client) với các lớp cụ thể

+ Mô hình thiết kế này là một thiết kế cấp cao hơn mô hình nhà máy

+ Mẫu này cung cấp tính nhất quán tốt hơn trong thời gian xây dựngcủa các đối tượng trên toàn ứng dụng

+ Mô hình này dễ dàng hoán đổi các thành phần liên quan

Một số vấn đề chung nên sử dụng mẫu thiết kế này(Abstract factory)

Khi bạn thiết kế một mẫu nhà máy để tạo đối tượng trong ứng dụngcủa bạn, có những lúc bạn muốn một tập hợp các đối tượng liên quan cụthể được tạo với các ràng buộc nhất định và áp dụng logic mong muốn trêncác đối tượng liên quan trong ứng dụng của bạn Bạn có thể đạt được thiết

kế này bằng cách tạo một nhà máy khác bên trong nhà máy cho một bộ cácđối tượng liên quan và áp dụng các ràng buộc cần thiết Bạn cũng có thểlập trình logic cho một tập hợp các đối tượng liên quan

Khi bạn muốn tùy chỉnh logic khởi tạo của các đối tượng liên quan,thì bạn có thể sử dụng mẫu thiết kế này

Thực thi mẫu nhà máy trừu tượng(Abstract Factory) vào Spring Framework

Trong Spring Framework, giao diện FactoryBean dựa trên mô hìnhthiết kế Abstract Factory, Spring cung cấp nhiều phương thức thực thi giaodiện này, chẳng hạn như là ProxyFactoryBean, Jndi Factory Bean,

Trang 13

LocalContainerEntityManagerFactoryBean, và một số khác

Một FactoryBean cũng hữu ích để giúp xây dựng đối tượng Spring

mà bản thân nó không dễ dàng tự xây dựng được.Thường thì điều nàyđược sử dụng để xây dựng các đối tượng phức tạp có nhiều phụ thuộc Nócũng có thể được sử dụng khi bản thân logic xây dựng rất biến động và phụthuộc vào cấu hình

Singleton design pattern

Đảm bảo một lớp chỉ có một trường hợp và cung cấp một điểm truycập toàn cầu cho nó

Mẫu singleton này là một trong những mẫu thiết kế đơn giản nhấttrong Java.Theo mẫu thiết kế này, lớp cung cấp cùng một đối tượng chomỗi cuộc gọi-nghĩa là nó đang hạn chế việc khởi tạo một lớp cho một đốitượng và cung cấp một điểm truy cập toàn cầu vào lớp đó

Vì vậy, lớp sẽ chịu trách nhiệm tạo một đối tượng và cũng đảm bảorằng chỉ nên tạo một đối tượng cho mỗi cuộc gọi của khách hàng(client)cho đối tượng này

Lớp này không cho phép khởi tạo trực tiếp một đối tượng của lớpnày Nó cho phép có được một thể hiện đối tượng chỉ bằng một phươngthức tĩnh được tiếp xúc

Điều này rất hữu ích khi chính xác một đối tượng là cần thiết để phốihợp các hành động trên hệ thống Bạn có thể tạo một mẫu duy nhất bằnghai biểu mẫu, như được liệt kê ở đây:

Trang 14

+ Early instantiation: Tạo phiên bản vào thời điểm tải.

+ Lazy instantiation: Tạo phiên bản khi được yêu cầu

Những lợi ích của mô hình Singleton

+ Nó cung cấp quyền truy cập bộ điều khiển vào các lớp quan trọng(thường là đối tượng nặng), chẳng hạn như lớp kết nối cho DB và lớpsessionFactory trong Hibernate

+ Nó giúp tiết kiệm hàng đống bộ nhớ

+ Nó là một thiết kế rất hiệu quả cho môi trường đa luồng

+ Nó linh hoạt hơn vì lớp kiểm soát quá trình khởi tạo và lớp có tínhlinh hoạt để thay đổi quá trình khởi tạo

Với mẫu singleton, mỗi luồng có cùng đối tượng kết nối cơ sở dữliệu với cùng một đối tượng cấu hình trên hệ thống Nó chủ yếu được sửdụng trong các ứng dụng đa luồng và cơ sở dữ liệu Nó được sử dụng trongghi nhật ký, lưu trữ, nhóm luồng, cài đặt cấu hình,

Trang 15

Thực thi mẫu Singleton vào Spring Framework

Spring Framework cung cấp một phạm vi singleton bean như là mô hìnhsingleton, nó tương tự mẫu singleton, nhưng không giống hẳn singleton trong java.Theo mẫu singleton, một phạm vi bean trong Spring framework có nghĩa là một beanduy nhất trên mỗi container và mỗi bean Nếu bạn xác định một bean cho một lớp cụthể trong một Spring container, thì sẽ tạo một và chỉ một thể hiện của lớp được xácđịnh bởi định nghĩa bean đó

Prototype design pattern

Chỉ định loại đối tượng để tạo bằng cách sử dụng một thể hiệnnguyên mẫu và tạo các đối tượng mới bằng cách sao chép nguyên mẫu này

Mẫu này được sử dụng để tạo các đối tượng bằng cách sử dụngphương thức nhân bản của các đối tượng Nó được xác định bởi một ví dụnguyên mẫu Trong ứng dụng doanh nghiệp, việc tạo đối tượng là tốn kém

về mặt tạo và khởi tạo các thuộc tính ban đầu của các đối tượng Nếu mộtloại đối tượng như vậy đã có trong tay, thì ta sẽ tìm mẫu prototype này

Bạn chỉ cần sao chép một đối tượng tương tự hiện có thay vì tạo nó, đó làtốn thời gian

Mẫu này liên quan đến việc thực hiện giao diện nguyên mẫu, nó tạo

ra một bản sao của đối tượng hiện tại Mẫu này được sử dụng khi tạo trựctiếp đối tượng là tốn kém

Những lợi ích của mô hình Prototype

+ Giảm thời gian để tạo các đối tượng tốn thời gian

+ Mô hình này làm giảm lớp con

+ Mẫu này thêm và xóa các đối tượng trong thời gian chạy

+ Mẫu này cấu hình ứng dụng với các lớp một cách linh hoạt

Trang 16

Builder design pattern

Tách biệt việc xây dựng một đối tượng phức tạp khỏi biểu diễn của

nó để quá trình xây dựng tương tự có thể tạo ra các biểu diễn khác nhau

Logic và quá trình tạo đối tượng phải là chung để bạn có thể sử dụng

nó để tạo các triển khai cụ thể khác nhau của cùng loại đối tượng Mẫu nàyđơn giản hóa việc xây dựng các đối tượng phức tạp và nó ẩn các dựngđược sử dụng để xây dựng một đối tượng phức tạp từng bước và cuối cùng

nó sẽ trả về đối tượng hoàn chỉnh chi tiết về cấu trúc của đối tượng từ mãngười gọi máy khách

Khi bạn đang sử dụng mẫu này, hãy nhớ rằng bạn phải xây dựng nótừng bước một, điều đó có nghĩa là bạn phải chia đăng nhập xây dựng đốitượng thành nhiều giai đoạn, không giống như các mẫu khác, chẳng hạnnhư nhà máy trừu tượng và mẫu nhà máy, mà đối tượng trong một bướcduy nhất

Những lợi ích của mô hình Prototype

+ Mô hình này cung cấp cho bạn sự cô lập hoàn toàn giữa việc xâydựng và biểu diễn của một đối tượng

+ Mẫu này cho phép bạn xây dựng đối tượng theo nhiều giai đoạn,

vì vậy bạn có quyền kiểm soát nhiều hơn đối với quy trình xây dựng

+ Mẫu này cung cấp sự linh hoạt để thay đổi biểu diễn bên trong củađối tượng

Thực thi mẫu Singleton vào Spring Framework

Spring Framework thực hiện mô hình thiết kế xây dựng(builder) mộtcách minh bạch trong một số chức năng Các lớp sau dựa trên mẫu thiết kế

Trang 17

xây dựng(builder) trong Spring Framework:

và sau bước cuối cùng, bạn sẽ nhận được một đối tượng phức tạp

Mẫu builder là một mẫu thiết kế phần mềm tạo đối tượng Mục đích

là để trừu tượng các bước xây dựng để các triển khai khác nhau của cácbước này có thể xây dựng các biểu diễn khác nhau của các đối tượng

Thông thường, mẫu xây dựng được sử dụng để xây dựng các sản phẩmtheo mẫu tổng hợp

Trang 18

3 Consideration of Structural and Behavioral

Patterns

Tiếp tục các phần tiếp theo của GOF design pattern đó là structural andbehavioral design patterns

1 Phân tích cốt lõi của mẫu thiết kế

Structural design pattern: các mẫu trong danh mục này sẽ đảm

nhiệm các thành phần của các class hoặc các đối tượng

● Trong phần mềm doanh nghiệp thì có 2 kĩ thuật cơ bản để tái sửdụng các chức năng của hệ thống hướng đối tượng đó là:

o Inheritance (Kế thừa): kế thừa các trạng thái và biểu hiện của

class khác

o Composition: Được sử dụng như là các thành phần của các

đối tượng khác như một biến của class, Thành phần hóa cácđối tượng để nhận các tính năng

Behavioral design pattern: các mẫu trong danh mục này nêu rõ đặc

điểm và các cách thức để các class và object tương tác với nhau vàđóng góp nhiệm vụ Các mẫu này xác định các phương thức để màgiao tiếp giữa các object với nhau trong phần mềm Giảm thiểu độphức tạp của luồng điều khiển, đóng gói các thuật toán và linh hoạttrong việc chọn 1 trong số các thuật toán để sử dụng

3.1. Mẫu cấu trúc

tới cấu trúc quan hệ giữa các object

rộng

trúc hệ thống không phải thay đổi theo

Mẫu adapter

Trang 19

- 2 class không thể làm việc chung do không tương thích interface

thích chức năng nhưng vẫn có thể tích hợp với nhau được

Lợi ích của mẫu Adapter

thích nhau

mềm

Yêu cầu chung khi dùng mẫu Adapter

class khác không tương thích nhau

Triển khai mẫu Adapter trên Spring Framework

năng tách biệt của framework

Trang 20

- The Adapter class: Là class bọc bên ngoài triển khai các interface mongmuốn và chỉnh sửa yêu cầu có trong class Adapee

chức năng và chỉnh sửa chức năng sử dụng

Mẫu cầu nối

abstract class và các class đang triển khai interface Dễ dàng thay đổichúng mà không ảnh hưởng đến mã nguồn của client

Lợi ích của mẫu cầu nối

sử dụng các lớp abstract

Trang 21

Các vấn đề thường thấy đã bị loại bỏ khi áp dụng mẫu cầu

- Mở rộng abstraction và các triển khai bằng các lớp con

Triển khai mẫu cầu nối trong Spring Framework

Các module spring dưới đây là dựa vào mẫu bridge:

Spring logging

Mẫu composite

sự liên kết của các nút lá và nhánh

Các vấn đề thường thấy được giải quyết bằng mẫu composite

này như là 1 thành phần của các object khác và là 1 object riêng lẻ khác

Trang 22

dụng tương tự nhau

Cấu trúc UML của mẫu composite

Mẫu composite dựa trên thành phần của cấu trúc cây, cây có 3 phần

là nhánh, node và lá

nhỏ, nút, lá khác Component cung cấp sự trừu tượng cho tất cảthành phần bao gồm cả composite object Trong mẫu Composite,component là interface của các đối tượng

và lá khác Nó có các method để thêm con như là một collection

có cùng 1 kiểu object, nó bao gồm nhiều phương thức componentcho con

Lợi ích của mẫu composite

thay đổi trong các component hiện có

và các object hỗn hợp

Trang 23

Mẫu decorator

object trong quá trình runtime một cách linh hoạt hoặc tĩnh mà không cầnthay đổi hành vi hiện có của các object từ cùng 1 class

Lợi ích của mẫu decorator

cấu trúc của các object hiện có

Trang 24

Các lớp và đối tượng tương tác với nhau:

một cách linh hoạt

interface và nó khai báo 1 object mà trách nhiệm thêm có thể được đínhvào

khai báo interface phù hợp

của mẫu decorator và nó thêm trách nhiệm đến các component

Mẫu Facade

Lợi ích của mẫu Facade:

dàng hiểu rõ

việc của hệ thống

Nhân biết được khi cần sử dụng mẫu facade

Ví dụ bạn cần phát triển một phần mềm bank cho doanh nghiệp vớinhiều service để làm việc bạn cần (AccountService, TranferService), Mãnguồn của client sẽ tương tác với tất cả service này để chuyển tiền từ tàikhoản này sang tài khoản khác

Trang 25

Mã nguồn client trực tiếp tương tác với các class trong hệ thống con,

có thể mô tả 1 hoặc nhiều interface giúp cho hệ thống con dễ sử dụng hơn

Mẫu ủy quyền

cần tới nó

cùng với đó là chức năng

Trang 26

Mục đích của mẫu ủy quyền

Cấu trúc UML của mẫu ủy quyền

được đại diện bởi Proxy

sự của Subject, nó duy trì việc giới thiệu đến object thật sự

3.2 Mẫu hành vi

vận hành một nhiệm vụ mà không một object nào có thể vận hành được

liên kết và đóng góp nhiệm vụ

Mẫu xâu chuỗi nhiệm vụ

Trang 27

- Sender và receivers của request được tách ra, sender gửi request đếnchuỗi của receivers và 1 trong số receiver object có thể đảm nhận request

Lợi ích của mẫu Chain of Responsibility:

giải quyết request

làm việc như một đơn vị duy nhất

request, hoặc đưa request đến phiên xử lí tiếp theo

request trong chuỗi

Mẫu yêu cầu

lệnh tới phương thức, trả về là mệnh lệnh là 1 object

người gửi và nhận

Trang 28

- Thêm các lệnh trong hệ thống mà không phải thay đổi class hiện tại

tạo action

receiver

concrete command

Mẫu thông dịch viên

Mẫu interpreter cho phép bạn thông dịch một thể hiện ngôn ngữtrong lập trình để khởi tạo một bản trình bày

Trang 29

- AbstractExpression: Là interface để thực thi nhiệm vụ bởi sử dụnginterpreter operation

hàm interpret()

nó triển khai interpret() operation

dịch

Mẫu trình lặp lại

các biến thể

trong collection

Trang 30

- Iterator: Là interface hoặc lớp ảo để truy cập các items của collection

hàm tạo Iterator interface để trả về là instance của ConcreteIterator thíchhợp

Mẫu bản mẫu

Trong mẫu template, một lớp ảo sẽ bao gói các khởi tạo vào method.Method đó sẽ cho phép kế thừa không được sửa method này Có thể sửdụng concrete class trong phần mềm bạn để hành xử một số loại hànhđộng

Lợi ích việc sử dụng mẫu template:

toán để hiện thực các yêu cầu bài toán

Trang 31

- AbstractClass: Là lớp ảo bao gồm các method của template là xươngsống của thuật toán

hoạt động của thuật toán

2 Mẫu thiết kế J2EE

Mẫu thiết kế của Java EE cung cấp phương pháp kiểm thử và luyệntập cho các tương tác của object trong nhiều tầng khác nhau của ứng dụng.Bao gồm 3 phân lớp

Mẫu thiết kế của tầng trình bày:

J2EE doanh nghiệp

request đến ứng dụng J2EE, đưa các request đến các controller để truy cậpmodel và view cho tầng trình bày có dữ liệu

Ngày đăng: 23/12/2023, 18:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w