Java设计模式

Java设计模式

为什么使用设计模式

使用设计模式可以提高代码的可重用性、可扩展性和可维护性,使代码更容易被他人理解,保证代码的可靠性。设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它能够帮助开发人员编写出更优雅、更健壮、更简洁的代码。

设计模式基本原则

  • 单一职责原则:一个类只负责一项职责,如果有多个变化的原因,就应该分解为多个类。这样可以降低类的复杂度,提高可维护性。

  • 开放-关闭原则:对扩展开放,对修改关闭。也就是说,当需要增加新的功能时,应该通过增加新的代码来实现,而不是修改已有的代码。这样可以避免对原有功能的影响。

  • 里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说,子类应该能够替换父类,并且保持程序的正确性。这样可以保证继承关系的稳定性。

  • 依赖倒转原则:高层模块不应该依赖低层模块,二者都应该依赖于抽象。也就是说,要面向接口编程,而不是面向实现编程。这样可以降低类之间的耦合度,提高系统的灵活性。

  • 接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。也就是说,要将臃肿的接口拆分为更小的和更具体的接口,让实现类只需要实现它们需要的方法。这样可以减少无用代码的编写,提高系统的内聚性。

  • 迪米特法则:一个对象应该对其它对象保持最少的了解。通俗来说就是,只与直接的朋友通信。也就是说,要尽量降低类与类之间的交互,避免出现在局部变量中的陌生类。这样可以降低系统的复杂度,提高模块的独立性。

  • 组合/聚合复用原则:在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用其已有功能的目的。也就是说,在实际开发中,尽量使用组合/聚合,不要使用类继承。这样可以使系统更加灵活,易于扩展和维护。

设计模式分类

设计模式根据工作的目的,分为创建型模式、结构型模式和行为型模式三类。

  • 创建型模式(Creational Pattern):对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。包括工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。
  • 结构型模式(Structural Pattern):关注于对象的组成以及对象之间的依赖关系,描述如何将类或者对象结合在一起形成更大的结构。包括适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
  • 行为型模式(Behavioral Pattern):关注于对象的行为问题,是对在不同的对象之间划分责任和算法的抽象化。包括策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

你可能感兴趣的:(设计模式系列,java,设计模式)