为解决特定场景下问题的解决方案,所以不要为了使用设计模式而使用
原则:构建可复用,可维护代码的经验法则
1.里氏替换:任何类可以出现的地方,子类一定可以出现,子类父类可以互相替换,子类可以使用父类的所有方法。(多态的运用,重写父类方法,尽量不要重写父类本身的实现逻辑)
2.单一职责:一个类只负责一个功能领域。
3.依赖倒置:抽象不依赖与细节,细节依赖于抽象(一般指的是接口),抽象就是接口或者抽象类,细节就是实现类。
4.接口隔离:接口里面只做必要的事情 不做其他相关的事情。(接口的设计粒度越小,系统越灵活,但是灵活的同时结构复杂性提高,开发难度也会变大,维护性降低)
5.开闭原则:对模块扩展开放,对修改关闭。(类似iOS中.m文件里边的实现不改变)
6.迪米特原则:i-两个类没有彼此直接通信,而是使用另一个类来通信,用来解耦;
ii-需要从一个类扩展出另外一种方法,尽量不要使用继承,使用新的方法。
创建型设计模式:(5种)
单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式
并发设计模式:(7种)
代理模式,组合模式,享元模式,桥接模式,外观模式,装饰模式,适配器模式
框架级设计模式:(11种)
观察者模式,访问者模式,中介者模式,解释器模式,策略模式,迭代器模式,命令模式,状态模式,备忘录模式,模板方法模式,责任链模式
网友评论