1 2 ! ! ""! #$ % & ' ( !) " * %' *' + , " -./ "!0 ( !) 3 , " ( !) '!012 (3 ◦ ' "14 ' % ' ◦ 5" !6% 0 ◦ 5"2 ("7 " ( 4 %1 ) ( "4 ( , " *( !0 4 ( " -/ 5 , ".!" ( !014' 4 ( ) '!012(3 ◦ 5" ◦ 5"2 ◦ 5"% ◦ % % ' " % ( 4 *' ( ! ) 6 ,3 ! #' ( )80 1 " "1 #*(9 :::-/*8:-/ 3 9( " * 6 2% 9 ' ( ! 99 7 ) ;'.3 ( # !) ;9 3 ( "" ( ( %4 ( 4 < " ) ( ' = (2 #!*1 '" ('.) 8 =) >.3" ( 0( (2 #) ;9 3 " ( ( %4 ) " 14( '"4 ( 1 ' 2 " # 0( ' %) 9 ?3 " ( ( - %/2(2 #( ( ! ( ) ;9 3 @AB " ! ( ( ( %)" ( ! !0 ( ) 10 [...]... đuợc hỗ trợ 12 Pattern là gì? Trong thực tế có rất nhiêu lược đô class có cấu trúc giống nhau Pattern được xem như là giải pháp hay cách thức để giải quyết bài toán Khái niệm vê pattern trong thiết kế phần mêm đuợc vay mượn từ ngành kiến trúc xây dựng nơi mà các pattern trợ giúp rất nhiêu cho các kiến trúc sư khi làm việc vơi các cấu trúc phức tạp 13 Pattern là gì? Môt pattern khi được... (recommendation) làm thế nào để áp dung và hòa hợp nó vào tình huống mơi “A pattern is a named problem/ solution pair that can be applied in new context, with advice on how to apply it in novel situations and discussion of its trade-offs” 14 GRASP GRASP (General Responsibility Assignment Software Patterns) bao gôm nhiêu pattern mô tả các nguyên tăc cơ bản trong việc thiết kế đối tượng và gán nhiệm... nhiêu pattern thuôc loại này nhưng 5 pattern cơ bản nhất : 1 Information Expert 2 Creator 3 High Cohesion 4 Low Coupling 5 Controller 17 Information Expert (or Expert) Solution: Assign a responsibility to the information expert - the class that has the information necessary to fulfill the responsibility Problem: What is a general principle of assigning responsibilities to objects? Gọi tăt pattern. .. nào biết tổng trị giá 26 Case study 1: Lơp nào biết tổng trị giá Tóm lại để hoàn tất nhiệm vu biết và trả lời tổng trị giá bán, ba nhiệm vu được gán vào ba lơp thiết kế như sau: Lớp thiết kế (Design class) Nhiêêm vu Sale Biết tổng trị giá (sale total) SaleLineItem Biết thành tiền môêt măêt hàng (subtotal) ProductSpecification Biết đơn giá (unit price) sản phẩm 27 Information Expert... creation of objects is one of the most common activities in an object-oriented system Consequently, it is useful to have a general principle for the assignment of creation responsibilities Assigned well, the design can support low coupling, increased clarity, encapsulation, and reusability 30 Creator Solution: gán cho class B trách nhiệm phải tạo 1 instance cua class A nếu 1 trong các điêu kiện sau đúng: