- 2
- 0
- 约1.05万字
- 约 69页
- 2017-06-10 发布于四川
- 举报
设计模式(2) 湖北汽车工业学院软件教研室 一、类(对象)的职责分配 面向对象的基石是类与对象,如何确定问题域中的类与对象? 类与对象是属性和服务的封装,服务体现了类与对象的职责。如何分配类与对象的职责呢?-GRASP(General Responsibility Assignment Software Patterns ),通用职责分配软件模式 Information Expert (信息专家) 如果某个类拥有完成某个职责所需要的所有信息,那么这个职责就应该分配给这个类来实现。这时,这个类就是相对于这个职责的信息专家。 例如:常见的网上商店里的购物车(ShopCar),需要让每种商品(SKU)只在购物车内出现一次,购买相同商品,只需要更新商品的数量即可。如下图: 比较商品是否相同的方法需要放到那里类里来实现呢?分析业务得知需要根据商品的编号(SKUID)来唯一区分商品,而商品编号是唯一存在于商品类里的,所以根据信息专家模式,应该把比较商品是否相同的方法放在商品类里。?? Creator (创造者) 如果一个类创建了另一个类,那么这两个类之间就有了耦合,产生了依赖关系。依赖或耦合带来的问题就是在以后的维护中会产生连锁反应,但必要的耦合是逃不掉的,我们能做的就是正确地创建耦合关系,不要随便建立类之间的依赖关系。 凡符合以下条件的情况,都应该由类A来创建类B,这时A是B的创建者
原创力文档

文档评论(0)