设计原则与设计模式
文章平均质量分 70
我爱CPP
这个作者很懒,什么都没留下…
展开
-
[设计原则1]GRASP 通用职责分配软件原则
设计原则-GRASP通用职责分配软件原则主要是解决那些功能职责放哪些类实现的问题,是讨论功能分配的问题,它介于分析和设计之间,是在类被识别之后,如何向类分配职责的的基本原则。当然在这个过程中也经常会产生新的类,或对已经识别的类做合并、抽象等。原创 2013-12-20 16:39:36 · 1234 阅读 · 0 评论 -
[设计原则4] 依赖倒置原则--架构重用基础
定义:要依赖于抽象,细节要依赖于抽象,抽象不要依赖于细节,或者说高层模块不应该依赖于底层模块,两个都应该依赖于抽象。 同时依赖倒置原则也是架构重用的基础。原创 2014-01-10 22:15:36 · 1007 阅读 · 1 评论 -
[设计原则1]GRASP --高内聚低耦合
高内聚低耦合是职责分配原则的终极原则,前面的那些原则都是服务于高内聚低耦合这一基本原则。要提升自己的设计水平,需要基于这些设计原则来衡量,然后对已有代码不断优化,不断掌握其精髓。原创 2013-12-26 20:11:06 · 1547 阅读 · 0 评论 -
[设计原则3] LSP 里氏替换原则
LSP原则定义: 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。 定义2:所有引用基类的地方必须能透明地使用其子类的对象。原创 2014-01-05 10:06:28 · 1092 阅读 · 1 评论 -
开篇—-面向对象的设计原则与设计模式
设计模式是前人总结的解决某特定场景的设计问题的方法,就像武学中的一招半式,说白一点就是解决某些问题的惯用法,人们也都把关于“重复发生的问题的描述和解决办法”统称为模式。 “模式”这个词是不局限于软件开发行业的,它几乎无处不在,它其实就是一种经验的积累,目前比较流行的是GOF的23种经典设计模式。 比设计模式更重要的是设计原则。如果说设计模式是武学的招式的话,那么原创 2013-12-19 09:05:28 · 674 阅读 · 0 评论 -
[设计原则2] 优先使用组合(续)
继承的优点和缺点优点: 容易进行新的实现,因为其大多数可继承而来。 易于修改或扩展那些被复用的实现。缺点: 破坏了封装性,因为这会将父类的实现细节暴露给子类。 “白盒”复用,因为父类的内部细节对于子类而言通常是可见的。 当父类的实现更改时,子类也不得不会随之更改。 从父类继承来的实现将不能原创 2014-01-02 09:43:35 · 664 阅读 · 0 评论 -
[设计原则2] 优先使用组合
人们在设计一组相关功能的类时,通常会线考虑继承的方式来设计,如人,老板,雇员类之间,通常会设计成老板和雇员继承自人,这种设计并不是最好的设计,因为老板跟雇员仅仅是一个人的一种角色,会随着是变化而变化,通常可以用组合设计,增加一个角色的抽象类,老板角色、雇员角色继承自角色类,然后人组合角色,一个人就可以扮演各种角色了。下面对组合和继承进行优缺点比较。原创 2014-01-02 09:34:25 · 1032 阅读 · 0 评论