Chapter 18 使用 GRASP的对象设计示例98 ●●●●● ●●●● ●●。●●
Chapter 18 使用GRASP的对象设计示例
●●● ●●●●● ●●●● 大纲 ●●●● ●●●● ●●0● ●用例实现 ●应用 GRASP为类分配职责 ●应用UML阐述和思考对象的设计
大纲 ⚫ 用例实现 ⚫ 应用GRASP为类分配职责 ⚫ 应用UML阐述和思考对象的设计
●●● 什么是用例实现 ●●●●● ●●●● ●●●●● ●●●● ●●0● 用例如何在设计模型中实现 ystem as black box the name could be "NextGenPOS"but"System"keeps it the":and underline imply an instance, and are explained in a ater chapter on sequence diagram notation in the UML Process sale Scenario Cashier makeNewsale a UML loop oop丿 more items interaction enterltem (itemID, quantity) a boolean guard expression description, total end sale ssociated with the it is an abstraction previous message representing the an abstraction that ystem event of make Payment(amount). some mechanism the return line is change due, receipt not returned
什么是用例实现 ⚫ 用例如何在设计模型中实现 enterItem(itemID, quantity) : Cashier :System endSale makePayment(amount) a UML loop interaction frame, with a boolean guard expression external actor to system Process Sale Scenario system as black box the name could be "NextGenPOS" but "System" keeps it simple the ":" and underline imply an instance, and are explained in a later chapter on sequence diagram notation in the UML a message with parameters it is an abstraction representing the system event of entering the payment data by some mechanism description, total return value(s) associated with the previous message an abstraction that ignores presentation and medium the return line is optional if nothing is returned total with taxes change due, receipt makeNewSale loop [ more items ]
●●● ●●●●● ●●●● 系统事件 ●●●● ●●●● ●●0● makeNewSale, etc, are the system operations from the SSD each major interaction diagram starts with a system operation going into a domain layer controller object, such as Register makeNewSale Register ??? Window objects GUI widget objects enterltem Registe 1:??? Web control objects endSale -+ Register 1:??? makePayment Register 1:??? UI LAYER DOMAIN LAYER
系统事件 :Register enterItem :Register endSale :Register makePayment 1: ??? 1: ??? 1: ??? :Register makeNewSale 1: ??? makeNewSale, etc., are the system operations from the SSD each major interaction diagram starts with a system operation going into a domain layer controller object, such as Register UI LAYER DOMAIN LAYER Window objects or GUI widget objects or Web control objects . .
●●● ●●●●● ●●●● 用例实现 ●●●● ●●●● ●●0● makeNewSale create Sale Window objects GUI widget objects Web control objects Register ProductCatalog enterltem(…) desc getProductDesc( itemID LAYER DOMAIN LAYER
用例实现 : Register : Sale makeNewSale create : Register enterItem(...) : ProductCatalog desc = getProductDesc( itemID ) . . . UI LAYER Window objects or GUI widget objects or Web control objects . . . DOMAIN LAYER