本文为《C#设计模式》阅读心得
主要设计模式包括:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式
1.简单工厂模式:根据参数返回实例,将对象的创建与对象的使用分开,适用于功能简单的同一类对象模块创建,此模式因比较简单和本身不符合设计原则并不在主要23种设计模式之中。
2.工厂方法模式:为简单工厂方法模式延伸,继承了简单工厂方法模式包装类的创建(一些比较复杂),简化使用者代码,克服了简单工厂方法模式不符合开闭原则的缺陷;缺点增加了代码的抽象度和理解难度,并给系统带来额外开销;适合系统内部功能组建。
3.抽象工厂模式:为工厂方法模式延伸,可对产品分类(类别内可包含众多具体产品),应付较复杂产品创建,应可扩展至多层;缺点修改产品层级较麻烦,不符合开闭原则;
4.建造者模式:将复杂产品的具体成员打包,使用者不需要知道内部具体细节,使用简便;缺点产品间需具有较多共同点(组成部分也需要相似),否则无法使用;
5.原型模式:对象克隆模式,需注意浅克隆与深克隆,用于对象创建成本较大和产品复制频繁的场合,缺点违背开闭原则;
6.单例模式:在系统内只创建一个实例,保持使用对象一致,可用于公共资源(外部硬件、公共变量、文件读写、公共功能等)