java之设计模式伊始

259 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

背景

设计模式最早出现在建筑领域,是克里斯托弗.亚历山大在建筑施工时对环境中不断出现的问题,进行分析总结,整理出相对应的解决方案。之后再遇到同样的问题,就可以把对应的方案拿出来,直接使用就可以了。

直到1994年,一本名为《设计模式-可重用的面向对象软件元素》的图书发表,该书在软件开发中开创了设计模式的概念,第一次将设计模式提升到理论高度,并将之规范化,随后被广泛应用。

概念

设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案

优点

  1. 设计模式可以让你的程序体现出更好的代码重用性,可靠性,可读性,可维护性,可以让程序体现出高内聚,低耦合的特性
  • 代码重用性:即相同功能的代码,一次编写,多处使用
  • 可读性:即编码的规范性
  • 可扩展性:即可维护性,当需要增加新功能的时候,成本非常低,可扩展性就非常高
  • 可靠性:即代码健壮性,当需要增加新功能的时候,对原来的程序没有影响
  1. 掌握了设计模式,去看一些开源项目的源码,有助于自己技术的提升
  2. 当遇到系统需要重构的时候,设计模式可以很好的给我们指明方向

七大原则

单一职责原则

类的职责要单一,不能将太多的职责放在一个类中

开闭原则

软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的 基础上去扩展其功能

里氏代换原则

在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象

依赖倒置原则

要针对抽象层编程,而不要针对具体类编程

接口隔离原则

使用多个专门的接口来取代一个统一的接口

合成复用原则

在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系

迪米特原则

一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接 通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三 者发生间接交互

总结

该篇文章我们了解了设计模式的出现发展,以及优点,并引出了使用设计模式需要遵守的七大原则及各个原则的简单介绍。

预告

后面的文章我们进行一一分析,下篇我们需要分析的是单一职责原则,敬请期待!