1. 面向对象设计原面向对象设计原则之一:单一职责原则面向对象设计原则之二:开放封闭原则面向对象设计原则之三:里氏替换原则面向对象设计原则之四:依赖倒置原则面向对象设计原则之五:迪米特法则面向对象设计原则之六:合成/聚合复用原则2. 设计模式举例设计模式之一:策略模式(Strategy Patter...
分类:
其他好文 时间:
2014-09-05 17:58:41
阅读次数:
264
上节我们说一个厨子要满足SRP原则,做好自己的本职工作,我们可以通过继承和接口两种方式实现。但是现在又出现了一个新的问题:本来这个厨子在学校主学川菜专业,然后在湖南找了一份工作,不得不学习湘菜。学就学呗,谁知顶头上司又是广东人,还得学做粤菜。如果对于一上一节定义的Cooker类来说,今天加一个方法,明天再加一个方法,后天发现某个方法不实用了,再删掉。这样,程序显得杂乱无章。不仅没有效率而且很容易出错。为了解决这类问题,我们想到了OCP原则,即一个软件实体(类,模块,函数等)应当为扩展而开放,又为修改而封闭。...
分类:
其他好文 时间:
2014-09-04 13:25:22
阅读次数:
179
一个厨子可以做出一手好菜,也许他是新东方毕业的或者是祖传秘方。你让他做上一桌佳肴那是简单、快乐而又高效的,然而让他编程就会成为一种苦恼并且让人想不通的一件事。也许这个比喻不是很恰当,但是对于每个类来说,他们就像一个一个的actor,也许是厨子也许是司机,他们应该关注于自己的领域,这样会更加高效而且简明。源于这一思想,我们发现了SRP这个原则,即:单一职责原则。...
分类:
其他好文 时间:
2014-09-03 21:21:07
阅读次数:
371
使用UML不仅可以形象化的表达我们的程序思想,而且可以帮助我们提高程序的质量。一个杂乱无章的程序让维护者望而生畏,其成本也可想而知。在面向程序设计(OOD)中有5条原则是帮助我们设计一个高效、简洁的程序:1.单一职责原则(SRP) 2.开放-闭合原则(OCP) 3.Liskov替换原则(LSP) 4.依存关系倒置原则(DIP) 5.接口隔离原则(ISP).然而这5个原则不是本节讨论的重点,我们将从一个更简单基础的部分入手-JUnit。...
分类:
其他好文 时间:
2014-09-03 18:16:27
阅读次数:
213
工作一年有余,最近负责项目组内代码重构。简单说下我的体会。很多时候,我们都在说面向对象编程,可面向对象到底怎么理解,估计每个人的想法都不一样。很多人会告诉你一些很理论的东西。比如“封装”“继承”“多态”“单一职责”“依赖倒置”等等一系列高大上的名词。更有甚者会搬出设计模式之类更加高大上的东东。好像不...
分类:
其他好文 时间:
2014-08-27 23:25:28
阅读次数:
367
在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名:臃肿的类: 类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上缺少关联的方法都放在了相同的类里面。长方法: 方法之所以会变得很长主要是有...
分类:
其他好文 时间:
2014-08-25 22:48:04
阅读次数:
284
英文原文:Top 6 Refactoring Patterns to Help You Score 80% in Code Quality 在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名:臃肿的类: 类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原....
分类:
其他好文 时间:
2014-08-25 18:41:04
阅读次数:
183
所谓无招胜有招,练一门功夫分为内功和外功。外功好比招式,就是所谓的23种设计模式。而内功呢,就是心法,那就是这6种法则。光会外功那是花拳绣腿,内功修为才是境界。如此众多的设计模式,学完2遍,3遍可能也会忘的只记得单例和工厂模式。但是只要原则记住,在以后的设计中,有意无意就会用的设计模式的精髓。
六种设计原则
单一职责原则
不要存在多于一个导致类变更的原因。通俗的说,即一个...
分类:
编程语言 时间:
2014-08-20 18:02:12
阅读次数:
185
单一职责原则:一个类,应仅有一个引起它变化的原因如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分享。如果你能够...
分类:
其他好文 时间:
2014-08-20 13:47:22
阅读次数:
163
设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则
分类:
其他好文 时间:
2014-08-19 12:33:24
阅读次数:
171