Java24种设计模式的优点、缺点和适用环境总结
一、7个常用的面向对象设计原则
1、单一职责原则:
它是实现高内聚、低耦合的指导方针;一个对象应该只包含单一的职责,并且该职责被完整的封装在一个类中;
2、开闭原则:
指软件实体应尽量在不改变原有的代码的情况下进行扩展;
3、里氏替换原则:
在运用里氏替换原则时应将父类设计为抽象类或者接口,让子类继承父类或实现父类接口,并实现父类中声明的方法,在运行时子类实例替换父类实例,可以很方便的扩展系统的功能,无需修改子类原有的代码,添加一个新功能只需新增一个子类来实现。
4、依赖倒转原则:
它要求针对接口编程,不要针对实现编程;其在程序代码中传递参数或关联关系中应引用层次高的抽象层,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回值声明,以及数据转换声明等,而不要使用具体类来做这些事情。
5、接口隔离原则;
客户端不应该依赖那些不需要的接口,应尽量细化,同时接口中的方法应尽量少,每一个接口应该遵守单一职责,承担一种独立的角色。
6、合成复用原则:
优先使用组合、聚合,而不是用继承来达到复用的目的;降低类与类之间的耦合度,尽量减少一个类的变化对其他类造成影响;
7、迪米特原则:
一个模块发生修改时应尽量少的影响其他模块,扩展会相对容易,可以通过中间类来转发这个调用,来降低现有对象之间的耦合度,如果需要增加或删除,可修改中间类即可;
二、24种设计模式归纳:
创建型模式(6种):
简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式
结构型模式(7种):
代理模式、适配器模式、装饰器模式、桥接模式、组合模式、亨元模式、外观模式
行为型模式(11种):
模板方法模式、策略模式、责任链模式、观察者模式、命令模式
中介者模式、迭代器模式、解释器模式、备忘录模式、访问者模式、状态模式
三、24种设计模式优缺点及适用场景
不积跬步无以至千里不积小流无以成江海