什么是设计模式?
设计模式是解决软件开发某些特定问题而提出的一些解决方案
设计模式的优点
通过设计模式可以帮助我们增强代码的可复用性、可扩展性、灵活性。
我们使用设计模式的最终目的是实现代码的高内聚、低耦合。
设计模式的七大原则
单一职责原则
有相同功能的代码不要放在不同的类中
接口隔离原则
强调客户端不应该依赖于它不需要的接口,接口的设计应该遵循最小接口原则,
依赖倒转原则
程序要依赖于抽象接口,不要依赖于具体实现
里式替换原则
子类可以扩展父类的功能,但不能开遍父类原有的功能
开闭原则
对拓展开放,对修改闭合
迪米特法则
一个类对于其他类知道的越少越好
迪米特法则要求限制软件实体之间通信的宽度和深度,正确使用迪米特法则将有以下两个优点。
- 降低了类之间的耦合度,提高了模块的相对独立性。
- 由于亲合度降低,从而提高了类的可复用率和系统的扩展性。
但是,过度使用迪米特法则会使系统产生大量的中介类,从而增加系统的复杂性,使模块之间的通信效率降低。所以,在釆用迪米特法则时需要反复权衡,确保高内聚和低耦合的同时,保证系统的结构清晰。
合成复用原则
软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现
Java 中什么叫单例设计模式
保证程序只有一个对象的实例,叫做单例模式
Java线程安全的单例模式
内部类的方式实现单例模式
双重验证方式实现单例模式