个人主页:阿Q说代码
‍♂️作者简介:大众号阿Q说代码作者(期待你的关注)、infoQ签约作者、CSDN后端领域新星创作者
技术方向:专心于后端技术栈分享:JVM、数据库、中间件、微服务、Spring全家桶

从今天开始呢,阿Q就带大家了解一下 java 的规划形式,并从中选出比较常用的几种规划形式进行总结。首先呢,先给大家说一下规划形式究竟是什么。

规划形式

规划形式(Design pattern)代表了最佳的实践,通常被有经历的面向目标的软件开发人员所选用。规划形式是软件开发人员在软件开发过程中面对的一般问题的解决方案。这些解决方案是众多软件开发人员通过适当长的一段时间的实验和错误总结出来的。

规划形式是一套被重复运用的、多数人知晓的、通过分类编目的、代码规划经历的总结。运用规划形式是为了重用代码、让代码更容易被别人了解、保证代码可靠性。

毫无疑问,规划形式于己于别人于体系都是多赢的,规划形式使代码编制真正工程化,规划形式是软件工程的柱石,好像大厦的一块块砖石相同。

项目中合理地运用规划形式可以完美地解决许多问题,每种形式在实际中都有相应的原理来与之对应,每种形式都描绘了一个在咱们周围不断重复产生的问题,以及该问题的中心解决方案,这也是规划形式能被广泛应用的原因。

规划形式分类

规划形式可以分为三大类:

一、创立型形式(Creational Patterns)

这些规划形式提供了一种在创立目标的同时隐藏创立逻辑的方法,而不是运用 new 运算符直接实例化目标。这使得程序在判断针对某个给定实例需求创立哪些目标时更加灵活。包含工厂形式(Factory Pattern),笼统工厂形式(Abstract Factory Pattern),单例形式(Singleton Pattern),建造者形式(Builder Pattern),原型形式(Prototype Pattern)。

二、结构型形式(Structural Patterns)

这些规划形式关注类和目标的组合。承继的概念被用来组合接口和定义组合目标取得新功能的方法。包含适配器形式(Adapter Pattern),桥接形式(Bridge Pattern),过滤器形式(Filter、Criteria Pattern),组合形式(Composite Pattern),装饰器形式(Decorator Pattern),外观形式(Facade Pattern),享元形式(Flyweight Pattern),代理形式(Proxy Pattern)

三、行为型形式(Behavioral Patterns)

这些规划形式特别关注目标之间的通信。包含职责链形式(Chain of Responsibility Pattern),命令形式(Command Pattern),解说器形式(Interpreter Pattern),迭代器形式(Iterator Pattern),中介者形式(Mediator Pattern),备忘录形式(Memento Pattern),观察者形式(Observer Pattern),状态形式(State Pattern),空目标形式(Null Object Pattern),策略形式(Strategy Pattern),模板形式(Template Pattern),访问者形式(Visitor Pattern)

规划形式之间的关系图

设计模式总览——枯燥的知识又增加了

规划形式的六大准则

1、开闭准则(Open Close Principle)

开闭准则的意思是:对扩展敞开,对修正封闭。在程序需求进行拓展的时分,不能去修正原有的代码,完成一个热插拔的效果。简言之,是为了使程序的扩展性好,易于保护和晋级。想要到达这样的效果,咱们需求运用接口和笼统类,后边的详细规划中咱们会说到这点。

2、里氏代换准则(Liskov Substitution Principle)

里氏代换准则是面向目标规划的基本准则之一。 里氏代换准则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是承继复用的柱石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也可以在基类的根底上添加新的行为。里氏代换准则是对开闭准则的弥补。完成开闭准则的关键步骤便是笼统化,而基类与子类的承继关系便是笼统化的详细完成,所以里氏代换准则是对完成笼统化的详细步骤的规范。

3、依赖倒转准则(Dependence Inversion Principle)

这个准则是开闭准则的根底,详细内容:针对接口编程,依赖于笼统而不依赖于详细。

4、接口隔离准则(Interface Segregation Principle)

这个准则的意思是:运用多个隔离的接口,比运用单个接口要好。它还有另外一个意思是:下降类之间的耦合度。由此可见,其实规划形式便是从大型软件架构动身、便于晋级和保护的软件规划思维,它着重下降依赖,下降耦合。

5、迪米特法则,又称最少知道准则(Demeter Principle)

最少知道准则是指:一个实体应当尽量少地与其他实体之间产生彼此作用,使得体系功能模块相对独立。

6、组成复用准则(Composite Reuse Principle)

组成复用准则是指:尽量运用组成/聚合的方法,而不是运用承继。

看完这些准则之后是不是觉得脑子有点蒙?不要紧的,随着咱们对规划形式的解说,咱们还会重复说到这些准则,慢慢的就都了解了。

跪求一键三连,更文很累的,不要白嫖我,需求一点正反馈。

好看的皮郛千篇一律,有趣的魂灵万里挑一,让咱们在冷漠的城市里彼此温暖,我是阿Q,咱们下期再见!