博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式学习之一:设计模式的设计原则
阅读量:6799 次
发布时间:2019-06-26

本文共 710 字,大约阅读时间需要 2 分钟。

  之前对设计模式有一些简单的了解,对设计模式中的工厂模式,抽象工厂模式,单例模式也用了不少,但一直以来没有系统的学习过设计模式,所以从今天开始,准备系统的学习一下设计模式,学习的途径就是Head First这本书。

  今天的这篇文章主要是设计模式中的设计原则,这些设计原则也是设计模式的精髓,如果能掌握这些设计原则并加以实际应用,对个人的设计模式的学习和系统架构设计将会有很大的帮助!

  下面是书中的设计原则!

1 找出应用中可能需要变化之处,把他们独立出来,不要和那些需要变化的代码混在一起。

  个人心得:把需要变化的部分抽取出来并封装起来,以免以后代码发生变化的时候,其他不经常变的地方受到影响!但这个原则的难点在于如果把需要变化的部分抽取出来,更加直接的问题就是怎么区分需要变化和不需要变化的部分,在什么阶段分离并封装?

  我们在设计系统时肯定需要尽可能的预见系统中可能会发生变化的地方,然后分离并封装起来,但是很多时候,我们在设计之初,无法确定系统的哪些地方是经常变化的,哪些地方是不易发生变化的,所以在整个系统开发阶段,我们需要不断的分析,确定出哪些经常发生变化,然后分离并封装起来。

  我个人在设计系统架构时,很少对于整个系统采用某种架构或者某种模式,但系统中的很多业务模块却经常会利用某些设计模式或架构(不过用的最多的还是单例模式、工厂模式、抽象工厂模式)。

以上是个人对设计模式的设计原则的理解,有理解不正确之处,希望大侠们能不吝赐教!

本文将持续更新...

 

 

转载于:https://www.cnblogs.com/Geodon/archive/2013/05/03/3056680.html

你可能感兴趣的文章
【发布】弹性分页类PagingBuild Class 附带测试
查看>>
<poj 1046>Color Me Less
查看>>
第k短路和A*
查看>>
Linux at命令定时发送邮件具体用法
查看>>
hudson无法访问问题,linux防火墙问题
查看>>
arcEngine 10 C++ 坐标转换【坐标系的投影】
查看>>
Java6 WebService学习
查看>>
命名规则 : 匈牙利法则
查看>>
适用于单选的jQuery Auto-complete插件SelectToAutocomplete
查看>>
我的Windows 8下看漫画程序差不多可以用了
查看>>
rabbitmq使用__python客户端(消息接收者)
查看>>
如何实现一套鼠标键盘控制二台主机
查看>>
html5 手机页面
查看>>
Ubuntu 配置VNC以及使用VNC连接时,无法显示系统菜单栏,解决方法
查看>>
c# 如何通过反射 获取\设置属性值、
查看>>
分享:Apache OpenNLP 1.5.3 发布
查看>>
PCB_栅格大小设置
查看>>
在eclipse 的整个工程中查找字符串
查看>>
[转]Android中的Intent详细讲解
查看>>
电商也要懂的实体渠道实战知识zz
查看>>