之前对设计模式有一些简单的了解,对设计模式中的工厂模式,抽象工厂模式,单例模式也用了不少,但一直以来没有系统的学习过设计模式,所以从今天开始,准备系统的学习一下设计模式,学习的途径就是Head First这本书。
今天的这篇文章主要是设计模式中的设计原则,这些设计原则也是设计模式的精髓,如果能掌握这些设计原则并加以实际应用,对个人的设计模式的学习和系统架构设计将会有很大的帮助!
下面是书中的设计原则!
1 找出应用中可能需要变化之处,把他们独立出来,不要和那些需要变化的代码混在一起。
个人心得:把需要变化的部分抽取出来并封装起来,以免以后代码发生变化的时候,其他不经常变的地方受到影响!但这个原则的难点在于如果把需要变化的部分抽取出来,更加直接的问题就是怎么区分需要变化和不需要变化的部分,在什么阶段分离并封装?
我们在设计系统时肯定需要尽可能的预见系统中可能会发生变化的地方,然后分离并封装起来,但是很多时候,我们在设计之初,无法确定系统的哪些地方是经常变化的,哪些地方是不易发生变化的,所以在整个系统开发阶段,我们需要不断的分析,确定出哪些经常发生变化,然后分离并封装起来。
我个人在设计系统架构时,很少对于整个系统采用某种架构或者某种模式,但系统中的很多业务模块却经常会利用某些设计模式或架构(不过用的最多的还是单例模式、工厂模式、抽象工厂模式)。
以上是个人对设计模式的设计原则的理解,有理解不正确之处,希望大侠们能不吝赐教!
本文将持续更新...