工厂模式
声明一个创建抽象产品对象的操作接口
abstractFactory
最后工厂能创建出的类,可以由抽象工厂接口的传参或者系统的配置给出
创建的类会因为设置接口参数的不同而不同,屏蔽了创建的具体过程
使用的时候尽量不要传递过多的细节信息,如果有细节信息,可以通过定义枚举
或者通过系统的配置文件来更改,这样可以暴露不必要的细节
最后创建出的类最好有共同的父类,这样便于接口统一,但是行为可以不同,比如说窗口的样式。
分离了具体类,不在客户的代码中,客户只需要操纵接口就可以
易于交换产品系列,由于统一了接口,只需要改变具体的工厂类,就可以立即实现更改
有利于产品的一致性
难以支持新种类的产品
每个具体产品只需要一个具体的工厂实例,最好使用单例
concreteFactory1
createproducta()
createproductb()
concreteFactory2
createproductc();
createproductc();
适配器模式 对原有的类进行包装,进而匹配到已经存在的系统中