超前的设计或者过度的设计都不是良好的设计,很多时候我们等到代码在第一次变化的时候可以及时作出反应。 What 就一个类(接口、结构体、方法等等)而言,应该仅有一个引起它变化的原因。 Why 软件设计真正要做的许多内容,就是发现职责并把那些职责互相分离。单一职责原则 ...
单一职责原则: 通常的定义是只专注于做一件事和仅有一个引起它变化的原因。对于接口 实现 函数级别往往我们比较容易关注单一职责,大家谈的也比较多,但对于返回值 参数可能不会有太多的人关注。但往往就是这些不符合单一职责原则的设计可能导致一些很难发现的BUG。看看下面这段代码: 可能很多人一眼看上去并没有什么问题,先让我们看看这个库函数的定义: 正常情况下pBuf是新空间的地址没有任何问题,但我们考虑下 ...
2012-12-11 22:00 2 4152 推荐指数:
超前的设计或者过度的设计都不是良好的设计,很多时候我们等到代码在第一次变化的时候可以及时作出反应。 What 就一个类(接口、结构体、方法等等)而言,应该仅有一个引起它变化的原因。 Why 软件设计真正要做的许多内容,就是发现职责并把那些职责互相分离。单一职责原则 ...
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责 ...
前言:上篇C#软件设计——小话设计模式原则之:依赖倒置原则DIP简单介绍了下依赖倒置的由来以及使用,中间插了两篇WebApi的文章,这篇还是回归正题,继续来写写设计模式另一个重要的原则:单一职责原则。 软件设计原则系列文章索引 C#软件设计——小话设计模式原则之:依赖倒置原则DIP ...
单一职责原则 前言:据说设计模式是区别程序员与软件设计师的标准之一。其实在编程学习初期就接触过设计模式,但是都没有写过多少代码是领悟不到设计模式真正的威力和必要性的。现在自认为也实践过不少段时间了,是时候总结一下设计模式。不知谁说过没有写过十万行以上代码别谈设计模式,虽然略显夸张 ...
目录: 设计模式六大原则:单一职责原则 设计模式六大原则:接口隔离原则 设计模式六大原则:依赖倒置原则 设计模式六大原则:里氏替换原则 设计模式六大原则:迪米特法则 设计模式六大原则:开闭原则 单一职责原则: 对象不应承担太多功能,正如一心不能而用 ...
1.单一职责原则2.开放-封闭原则3.依赖倒转原则4.里氏代换原则5.接口隔离原则6.迪米特原则 1.单一职责原则 什么是单一职责原则? 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定 ...
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责 ...