摘要:
适配器:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 功能:进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。在适配器里实现功能,这种适配器称为智能适配器。 优点:复用性、扩展性 缺点:过多使用,会导致系统凌乱 何时选用适配 阅读全文
摘要:
观察者模式中,一个被观察者管理所有相依于它的观察者物件,并且在本身的状态改变时主动发出通知。这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。 角色: 抽象被观察者角色:把所有对观察者对象的引用保存在一个集合中,每个被观察者角色都可以有任意数量的观察者。被观察者提供一个接 阅读全文
摘要:
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 分类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 简单工厂分为: 简单工厂:不仅可以利用 阅读全文
摘要:
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 使用场景: 角色: 在这样的设计模式中,有以下几个角色: 1、Builder:为创建一个产品对象的各个部件指定抽象接口。 2、ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并 阅读全文
摘要:
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Singleton:负责创建Singleton类自己的唯一实例,并提供一个getInstance的方法,让外部来访问这个类的唯一实例。 分类: 懒汉式(时间换空间):不加同步时线程不安全 1.线程不安全 2.线程安全(加锁,效率慢) 3. 阅读全文
摘要:
#常见的面向对象设计原则 高层模块不应该依赖底层模块,二者都应该依赖于抽象。 抽象不应该依赖于具体实现,具体实现应该依赖于抽象。 面向接口编程 优先使用组合,而非继承 一个类需要的数据应该隐藏在类的内部 类之间应该零耦合,或者只有传导耦合,换句话说,类之间要么没关系,要么只使用另一个类的接口提供的操 阅读全文