设计模式是一种思维,一种态度,一种进步
设计模式的基本要素
对系统的灵活性,移植性,可扩展性的影响
创建型模式:
结构型模式
行为型模式
模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器
模式,状态模式,策略模式,职责链模式,访问者模式
开闭原则:对扩展开放,对修改关闭
里氏替换原则:继承必须确保超类所拥有的性质在子类中依然成立(尽量不重写父类)
依赖倒置原则:要面向接口编程,不要面向现实编程。(以此降低程序之间的耦合性)
单一职责原则:控制类的力度大小,将对象解耦,提高内聚性
接口隔离原则:要为各个类建立它们需要的专用接口(精简,单一)
迪米特法则:只与你的直接朋友交谈,不要和陌生人说话
合成复用原则:尽量先使用组合或聚合等关联关系来实现,其次才考虑使用继承关系来实现。
详细分类
核心本质:
不使用简单工厂模式,则需要了解具体类的参数,方法,返回值等。使用工厂模式,具体实现交给工厂模式既可,而不用关心具体实现以及参数等。
简单工厂模式的缺点是,如果新增了一种类型的汽车,那么需要修改工厂类的代码,而这就违反了开闭原则。所以简单工厂模式又称为静态工厂模式。
工厂方法模式
需要实现汽车接口和工厂接口,如果新增车型,需要新增对应车型的工厂类,无需修改汽车接口和工厂接口的方法。
对比简单工厂模式(simple)与工厂方法(method)模式胜出者:
原文:https://www.cnblogs.com/liuhuan086/p/13513669.html