程序设计中的几个原则

来源:互联网 发布:淘宝店铺经营类别 编辑:程序博客网 时间:2024/05/22 00:33

程序设计中的几个原则(注:使用设计模式其实就是对以下准则的贯彻和落实)


一、OCP法则:开闭法则(Open-Closed Principle)一个软件系统应当对扩展开放,对修改关闭
优点:原则的描述就是其优点所在,
1)通过扩展已有软件系统,可以提供新的行为,以满足对软件的新的需求,使变化中的软件有一定的适应性和灵活性。 2)已有软件模块,特别是最重要的抽象层模块不能再修改,这使变化中的软件系统有一定的稳定性和延续性。

实现原则就是抽象,把抽象借口和实现分离。


二、LSP法则: Liskov Substitution Principle(里氏代换原则)

这是继承的特征,子类型(subtype)必须能够替换它们的基类型


三、DIP法则: 依赖倒置(Dependence Inversion Principle)
原则表述:抽象不应当依赖于细节;细节应当依赖于抽象;要针对接口编程,不针对实现编程。具体讲就是 要依赖于抽象,不要依赖于具体。

实现原则就是,传递参数,或者在组合聚合关系中,尽量引用层次高的类。


四、 ISP原则:接口隔离原则(Interface Segregation Principle)

原则:每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。这类似编码原则中的最小权限法则。


五、 CARP法则:合成/聚合复用原则(Composite/Aggregate Reuse Principle或CARP)也叫做合成复用(CRP)原则(Composite Reuse Principle

原则:要尽量使用合成/聚合,尽量不要使用继承。这就是 有一个 和是一个的的问题


六、 迪米特法则(LoD)迪米特法则(Law of Demeter或简写LoD)又叫最少知识原则(Least Knowledge Principle或简写为LKP)
也就是说,一个对象应当对其它对象有尽可能少的了解。其它表述: 这实际上就是设计高内聚低耦合的要求,有人形象地称谓“不要和陌生人讲话”


根据我的经验,我把我经常用到的设计模式在这里做个总结,根据使用频率由高到低,排列如下:

1)单件模式、2)抽象工厂模式和工厂模式、3)适配器模式、4)装饰模式、5)观察者模式、6)外观模式、7)桥接模式、8)代理模式、9)模板模式

其他模式目前还很少用到。


原文地址:http://apps.hi.baidu.com/share/detail/22182647

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 马蜂窝弄掉又来怎么办 蜂窝弄掉又有怎么办 2018年小龙虾底板脏怎么办 一本分数线擦边过怎么办 玩具塑料球扁了怎么办 胶皮与海绵开了怎么办 安卓不支持flash了怎么办 看视频要加载flash怎么办 下水道管子铁皮破了怎么办 炸金花牌一样大怎么办 玩棋牌游戏输了怎么办 苹果7插耳机外放怎么办 出国种菠菜抓了怎么办 在菲做菠菜抓到怎么办 3串1中两个怎么办 微博账号封停怎么办 阴阳师账号被永久封停怎么办 寒刃2账号被禁用怎么办 输了好多钱我该怎么办 亲朋打鱼别处在玩怎么办 做糯米蛋的蛋清怎么办 水田地没耙地平怎么办 宝宝拉鸡蛋花样大便怎么办 电子琴伴奏区无旋律音怎么办 手机触摸屏摔坏了怎么办 手机充着电玩游戏卡怎么办? 4个月宝宝拉肚子怎么办 6个月宝宝上火怎么办 1月婴儿大便干燥怎么办 椰子鞋350线开了怎么办 打完篮球小腿肌肉酸痛怎么办 衣服穿少了感冒怎么办 侧手翻翻不过去怎么办 生完孩子胯宽了怎么办 小孩户口性质弄错了怎么办 4岁宝宝咳嗽很厉害怎么办 宝宝深夜咳嗽很厉害怎么办 2岁宝宝发热37.6怎么办 篮球气嘴慢跑气怎么办 4个月宝宝偏胖怎么办 4个月婴儿偏胖怎么办