GRASP模式

1、Information Expert
在设计对象时。如果某个类能够在某方面具有完整的信息,足以实现某个责任,就将这个责任分配给这个类,意为信息专家。
2、Creator
有下列情况之一的,类A具有创建B类的责任:
1)A是B的聚合 2)A是B的容器 3)A有初始化B的数据 4)A记录B的实例 5)A频繁使用B
3、Low Coupling
设计中应当减少类之间的连接,Don't talk to strangers。下列情况让A、B产生耦合:
1)A具有一个B的属性 2)A调用B对象的方法 3)A的方法包括对B的引用(返回的类型或者参数是B) 4)A是B的子类,或者是B的实现。
4、High Cohesion
在设计中要努力分解类,使得分解出来的类具有独立的责任。提高类的重用性。
5、Controller
系统事件的接受与处理通常由一个高级类来代替,一个子系统会有很多控制器类,分别处理不同的事务。
6、Polymorphism
当相关的行为只是由于种类的不同时,可以分配相关的责任给指定的种类。
7、Pure Fabrication
为了解决高内聚与低耦合之间的矛盾,纯虚构模式得以应用。
8、Indirection
为了避免对象之间的直接耦合,可以将协调组件或服务的责任分配给中间对象。
9、Protected Variations
实质是开闭原则的体现(the Open Closed Principle,OCP),一个软件实体应当对扩展开放、对修改关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值