谨以此献给《设计模式解析一书》,这里的内容都是我载录自此书,大学里能读到的好书不多,这是一本。
21条军规
1.许多bug都源于代码的修改。
2.内聚性:类中的操作之间的联系的紧密程度。或者说是清晰性,多个操作的联系紧密。
3.耦合性:两个类之间联系的紧密程度。
4.关于对象:应该将对象看成“有责任的东西”,对象应该自己负责自己,而且应该清楚地定义责任。
在概念层次上,对象是一组责任。
在规约层次上,对象是一组可以被其他对象或自己调用的方法。
在实现层次上,对象是代码和数据,以及它们的之间的交互计算。
5.《设计模式》一书中有23个设计模式。
6.隐藏:实现细节,派生类(具体子类类型),设计细节,实例化规则。
设计模式
Facade(表面)模式
原意图:为子系统中的一组接口提供一个统一的接口。Facade模式定义了一个更高层的接口,是子系统更加容易使用。
意图:希望简化原有系统的使用方式,需要定义自己的接口。
问题:只需要使用某个复杂系统的子集,或者需要以一种特殊的方式与系统交互。
解决方案:Facade为原有系统的客户提供一个新的接口。
实现:1.定义一个或多个具备所需接口的新类。2.让新的类使用原有的系统。
Facade模式可以用来封装系统,将系统作为自己的私有成员包含进来。
这样做有两个原因:1.跟踪系统的使用情况;2.改换系统。
Facade模式的应用情况。
1.不需要使用一个复杂系统的所有功能,你可以自己创建一个比原来系统简单的类,提供更简单的API。
2.希望封装或隐藏原系统。
3.希望使用原系统的同时增加一些新功能。
Adapter(适配器)模式
原意图:将一个类的接口转换成客户需要的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作了。
实现:将原有类包含在另一个类之中。让包含类与需要的接口匹配,调用被包容类得方法。