Design Patterns
面向对象设计原则
刘 伟 (Sunny)
weiliu_******@126com
剁范爹厌磊犬己靠兜搁茁宇伸曾察债廊氢珠巩楷底庶里琵鼠随缄衣抢摈邵02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
大纲
面向对象设计原则概述
单一职责原则
开闭原则
里氏代换原则
依赖倒转原则
接口隔离原则
合成复用原则
迪米特法则
饰汪梳九拽狂咕掇咖卡掸锣错掩鄂赐眯员阂恶珊于舅庞幅拯旁觅宝像焰釜02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
面向对象设计原则概述
可维护性(Maintainability):指软件能够被理解、改正、适应及扩展的难易程度
可复用性(Reusability):指软件能够被重复使用的难易程度
面向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改,具有良好的可维护性
嘱炬例礼砸硫凤嫁患蓝脂争敖党谓棒碴仕畴荡农楚蹿莱同钦浸碉秩太汛促02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
面向对象设计原则概述
面向对象设计原则为支持可维护性复用而诞生
指导性原则,非强制性原则
每一个设计模式都符合一个或多个面向对象设计原则,面向对象设计原则是用于评价一个设计模式的使用效果的重要指标之一
闹衅否莆洞蓑产亚愈萝趟痞身绵尝究姿糜孝磅篇楷换息蔷刽瓮咬扮文倔蜡02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
面向对象设计原则概述
设计原则名称
定 义
使用频率
单一职责原则
(Single Responsibility Principle, SRP)
一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
★★★★☆
开闭原则
(Open-Closed Principle, OCP)
软件实体应当对扩展开放,对修改关闭
★★★★★
里氏代换原则
(Liskov Substitution Principle, LSP)
所有引用基类的地方必须能透明地使用其子类的对象
★★★★★
依赖倒转原则
(Dependence Inversion Principle, DIP)
高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象
★★★★★
接口隔离原则
(Interface Segregation Principle, ISP)
客户端不应该依赖那些它不需要的接口
★★☆☆☆
合成复用原则
(Composite Reuse Principle, CRP)
优先使用对象组合,而不是继承来达到复用的目的
★★★★☆
迪米特法则
(Law of Demeter, LoD)
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位
★★★☆☆
衙又陆闰照槽采温拔磋衔蒲惹纽管裴朔圾赖呕搪粘拦白着倔陷韭厦支卧冉02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
单一职责原则
单一职责原则定义
单一职责原则是最简单的面向对象设计原则,用于控制类的粒度大小
单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。
Single Responsibility Principle (SRP): Every object should have a single responsibility, and that responsibility should be entirely encapsulated by the class.
澳灶碉朱疹采琶戳历拆贿驭峪丹和陌洼罚奖廉猎怔区猩黑薯玛甭买沾索仆02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
单一职责原则
单一职责原则定义
就一个类而言,应该仅有一个引起它变化的原因
There should never be more than one reason for a class to change
剪唆法岸镊垮望蛮淬宪锈他阮仆苟乱疤赦锅共热辉考刃俊除钓授峰郝挠凹02 C#设计模式-面向对象设计原则02 C#设计模式-面向对象设计原则
单一职责原则
单一职责原则分析
一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小
当一个职责变化时,可能会影响其他职责的运作
将这些职责进行分离,将不同的职责封装在不同的类中
将不同的变化原因封装在不同的类中
单一职责原则是实现高内聚、低耦合的指导方针
买秃艰瞬仑迸喇强甫捕堤咯肖难属甩俐惭坡奋荐恼
02 C#设计模式-面向对象设计原则 来自淘豆网www.taodocs.com转载请标明出处.