知识大全 设计模式的原则

Posted 原则

篇首语:没有加倍的勤奋,就既没有才能,也没有天才。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 设计模式的原则相关的知识,希望对你有一定的参考价值。

  近年来 大家都开始注意设计模式 那么 到底我们为什么要用设计模式呢?这么多设计模式为什么要这么设计呢?说实话 以前我还真没搞清楚 就是看大家一口一个 Design pattern 心就有点发虚 于是就买了本 四人帮 的设计模式 结果看得似懂非懂:看得时候好像是懂了 过一会就忘了 可能是本人比较 愚钝 吧:))最近 有了点感悟 独乐不如众乐 与大家分享一下 还望指教!  为什么要提倡 Design Pattern 呢?根本原因是为了代码复用 增加可维护性 那么怎么才能实现代码复用呢?OO界有前辈的几个原则 开-闭 原则(Open Closed Principal) 里氏代换原则 合成复用原则 设计模式就是实现了这些原则 从而达到了代码复用 增加可维护性的目的     一 开-闭 原则    此原则是由 Bertrand Meyer 提出的 原文是 Sofare entities should be open for extension but closed for modification 就是说模块应对扩展开放 而对修改关闭 模块应尽量在不修改原(是 原 指原来的代码)代码的情况下进行扩展 那么怎么扩展呢?我们看工厂模式 factory pattern :假设中关村有一个卖盗版盘和毛片的小子 我们给他设计一 光盘销售管理软件 我们应该先设计一 光盘 接口 如图          而盗版盘和毛片是其子类 小子通过 DiscFactory 来管理这些光盘 代码为     public class DiscFactory  public static 光盘 getDisc(String name)    return (光盘)Class forName(name) getInstance();    有人要买盗版盘 怎么实现呢?    public class 小子  public static void main(String[] args)    光盘 d=DiscFactory getDisc( 盗版盘 );    光盘 卖();      如果有一天 这小子良心发现了 开始卖正版软件 没关系 我们只要再创建一个 光盘 的子类 正版软件 就可以了 不需要修改原结构和代码 怎么样?对扩展开发 对修改关闭 开 闭原则   工厂模式是对具体产品进行扩展 有的项目可能需要更多的扩展性 要对这个 工厂 也进行扩展 那就成了 抽象工厂模式     二 里氏代换原则    里氏代换原则是由 Barbara Liskov 提出的 如果调用的是父类的话 那么换成子类也完全可以运行 比如   光盘 d=new 盗版盘();  d 卖();  现在要将 盗版盘 类改为 毛片 类 没问题 完全可以运行 Java编译程序会检查程序是否符合里氏代换原则 还记得java继承的一个原则吗?子类overload方法的访问权限不能小于父类对应方法的访问权限 比如 光盘 中的方法 卖 访问权限是 public 那么 盗版盘 和 毛片 中的 卖 方法就不能是package或private 编译不能通过 为什么要这样呢?你想啊 如果 盗版盘 的 卖 方法是private 那么下面这段代码就不能执行了   光盘 d=new 盗版盘();  d 卖();  可以说 里氏代换原则是继承复用的一个基础     三 合成复用原则    就是说要少用继承 多用合成关系来实现 我曾经这样写过程序 有几个类要与数据库打交道 就写了一个数据库操作的类 然后别的跟数据库打交道的类都继承这个 结果后来 我修改了数据库操作类的一个方法 各个类都需要改动 牵一发而动全身 !面向对象是要把波动限制在尽量小的范围       在Java中 应尽量针对Interface编程 而非实现类 这样 更换子类不会影响调用它方法的代码 要让各个类尽可能少的跟别人联系 不要与陌生人说话 这样 城门失火 才不至于殃及池鱼 扩展性和维护性才能提高    理解了这些原则 再看设计模式 只是在具体问题上怎么实现这些原则而已 张无忌学太极拳 忘记了所有招式 打倒了 玄幂二老 所谓 心中无招 设计模式可谓招数 如果先学通了各种模式 又忘掉了所有模式而随心所欲 可谓OO之最高境界 呵呵 搞笑 搞笑!    这是我的一点心得 大家可能理解得更深刻 还望指教!   cha138/Article/program/Java/gj/201311/11159

相关参考

现代家居卧室设计原则如何把握?

现代家居卧室设计原则如何把握?卧室是人们休息的主要处所,卧室布置得好坏,直接影响到人们的生活、工作和学习,所以卧室也是家庭装修的设计重点之一。卧室设计时要注重实用,其次才是装饰。具体应把握以下原则:1

知识大全 OO设计原则总结

OO设计原则总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  设计原则是基本的工具应用这些规则

居室地面设计配色原则?

居室地面设计配色原则?家庭居室装修中,对“色彩”的选择要遵循“整体协调,局部对比一的原则,即色彩的整体应用要协调,各个局部的颜色要形成过渡和对比。地面颜色是家庭居室的基本颜色,是色彩选择的重点。家庭居

欧式装书房设计有哪些基本原则?

欧式装书房设计有哪些基本原则?欧式装修上书房设计的时候,书房属于家人们工作和学习的地方,同时也得保持宁静、沉稳的感觉。才能给我们带来一种清新的书香气息。可是,欧式装修的时候书房设计原则包括哪些呢。在我

欧式装修书房设计包括哪些基本原则呢?

欧式装修书房设计包括哪些基本原则呢?欧式装修上书房设计的时候,书房属于家人们工作和学习的地方,同时也得保持宁静、沉稳的感觉。才能给我们带来一种清新的书香气息。欧式装修书房设计包括哪些基本原则呢?在我们

餐饮空间装修设计基本原则

餐饮空间装修设计基本原则餐饮空间装修设计原则,随着生活水平的提高,人们就餐的同时希望能享受到更多有文化品位的、舒适的餐饮环境空间。餐饮空间是指专门为人们进行餐饮活动而提供的经营空间,是餐饮业适应时代需

企业集团股权设计原则

企业集团股权设计原则1、战略导向:注重行业成长性、业务关联度与集团整体业绩间的动态关系集团的成长是一个和谐的可持续过程,它依赖于不同行业、不同企业之间的成长性协调。战略导向原则要求:(1)针对不同行业

卧室装修设计有几个基本原则?

卧室装修设计有几个基本原则?在家居装修设计中,由于卧室是休息的主要场所,因此在对卧室进行装修设计的时候很多都是以床为中心,创造卧室温馨的有利条件,卧室装修设计有几个基本原则?一、地台烘托法在摆放床的地

室内色彩设计中的基本原则有哪些?

室内色彩设计中的基本原则有哪些?在进行室内色彩设计时,应充分考虑室内空间功能与色彩的关系,色彩与人的关系,为此,应掌握以下原则:1、室内空间的使用功能不同,其色彩的设计应有所区别。如商场、餐厅、舞厅、