我是这么理解设计和模式的

Posted 茂树24

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是这么理解设计和模式的相关的知识,希望对你有一定的参考价值。

以下完全是我个人的理解,毕竟我项目经验不是很丰富,未免对一些概念理解有偏差,请多多斧正。

 

现代一个软件开发无论是遵循敏捷开发也好都是不断迭代的,之所以迭代是因为在开发过程中出现了很多问题,但是最重要的一个因素就是需求的不断变化,这个需求可能是增加的新功能或者是原来需求行为的改变。

 

 

在软件开发过程中如何保证在面向对象设计中更好的去迎合这种需求不断变化因素呢?也就是在将一个问题设计成接口或者抽象类的过程中有一种方法论的指导,这个就是六个设计原则。通过应用这六个前人总结的设计原则,可以使得逻辑代码的更改尽可能的少,或者即使更改实现起来也是很方面的,那么在后续编码阶段岂不是很轻松?

 

面向对象的设计极力的去做到对于一个模块(可能是一个类、接口、子系统等)高内聚低耦合,六个设计原则其实就是在迎合需求不断改变的情况下,对系统设计,从而达到模块高内聚低耦合目的,他是一种方法手段。按照这么说来,到最终如果发展到设计的时候只在乎高内聚低耦合不关心设计原则了,那么可能就真么做到‘手中无道刀,心中也无刀’的地步了

 

说完了设计,再说说模式,如果说设计原则是方法论的话,那么模式就是前人遵循设计原则进行大量设计之后,发现很多设计情况是相似的那么就把他们总结起来,可以说模式是对设计原则最好的的实践,以至于人们把它抽象出来作为模型来使用。

 

所以说,设计是面向对象设计的方法论,模式是对设计的最佳实践。在遵循六个设计原则的设计过程中,如果发现这几个模块设计的需求正好是**模式,那么我们就可以用了。不能为了使用模式而去硬套模式,因为这里的本源是设计而不是模式

 

六个设计原则:

(1):单一职责原则

 

(2):里氏替换原则

 

(3):依赖倒置原则

 

(4):接口隔离原则

 

(5):迪米特法则

 

(6):开闭原则

因为模式非常多,并且完全可以创造出或者混用各种模式,所以不一一列举了。接下来的博客会慢慢和大家分享。

 

 

 

 

以上是关于我是这么理解设计和模式的的主要内容,如果未能解决你的问题,请参考以下文章

Day856.多线程设计模式一些列问题 -Java 并发编程实战

设计模式

对于装饰模式的一些理解嘻嘻(2018-4-25)

设计模式的定义和分类

你知道前端开发常用的几种设计模式吗?

你知道前端开发常用的几种设计模式吗?