`
jiasanshou
  • 浏览: 17383 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Pattern rlx

阅读更多

1设计模式的原则:

1)单一职责原则(Single Responsibility Principle):一个类应该仅有一个职责。每个职责代表一个类变化的方向。如果一个类承担了多个职责,那么当需求改变的时候,这个类需要改变的可能性就增大了,这些交互增加了类之间的耦合性。这一个原则也可以理解为,模块中的每个类的设计要有高的内聚性。

2)开闭原则(open closed principle:软件实体(类,模块等)的功能接口应该对扩展开放,对修改关闭。也可以这样理解,在修改或增加模块的功能时,不必改动模块的已有代码,我们可以直接基于已有代码的二进制版本(.class, .jar文件等)进行后续程序的开发。

3)代换原则( Liskov substitution Principle):子类必须能够替代基类。

4)依赖倒置原则(Depedence Inversion Principle:要依赖于抽象,不要依赖于具体。

5)接口隔离原则:使用多个专一的接口比使用单一的总接口要好。

6)合成聚合复用原则(composite/aggregate reuse principle:要尽量使用合成/聚合,尽量不要使用继承。

7)最少知识原则(迪米特法则):一个对象应该对其他对象有尽可能少的了解。

2选择和使用设计模式

1)敏捷开发->软件重构

重构是一种对软件内部结构的改善,目的是在不改变软件可见行为的情况下,使其更容易理解,修改成本更低。引入重构思想后,问题的重点就改变了,预先设计仍然要做,但是不必一定找出最好的解决方案,一个足够合理的解决方案就可以作为起点,在预先设计的实施过程中,你对问题的理解会逐渐加深,用户的需求会进一步得到确认,在合适的时候不断的实施重构就可以最终得到切实可行的解决方案。

设计模式为重构提供了目标。重构工作主要包括将类拆分为专用和通用的构件,把各种操作在类层次上上移或者下放到合适的类中,并使得各个类的接口合理化,识别软件中紧耦合的部分将他们放到合适的类中等。这个阶段将会产生许多类型的对象,原有类之间的关系也会得到调整。设计模式中的许多模式为重构过程中类或者模块之间的关系提供了参考和目标。

2)灵活实现设计模式

针对特定问题特定分析实现设计模式。

3)避免过度设计

设计模式不能盲目和过度的使用,过度使用设计模式会陷入过度设计的泥潭,因为设计模式通常是通过引入额外的间接层次来获得软件的灵活性和可扩展性的,这个过程自然使得设计变得复杂,程序的性能也有可能受到影响。过度设计是指代码的灵活性和复杂性超出所需。程序员之所以这么做,是因为他们相信自己可以尽量把握未来的需求。他们认为:最好今天就把设计方案设计的灵活,复杂,以应对未来的需求。

使用设计模式前,软件开发人员一定要问问自己“引入设计模式带来的灵活性真的需要吗?我是不是在小题大做?引入模式会不会进入过度设计的陷阱?”

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics