`
- 浏览:
14621 次
- 性别:
- 来自:
长沙
-
设计模式这个词,我在四天前第一次听到。其实说白了,对于初学者来说,设计模式还只是一种可望而不可及的虚幻的形式;但不可否认的是,在程序编写的过程中,在项目运作的过程中,设计模式是一个必不可少的考虑因素,一个极其重要的实现环节,也是我们由菜鸟最终走向大神的必由之路。
设计模式,说白了,其实就是前人在编写程序时,所总结一系列模式,所悟出的一系列经验,所遵循的一系列套路。我们运用它,是要对我们的程序做一种不同以往的加工,使我们的程序执行力更强,占用的空间更少,更具鲁棒性,更易于扩展开发,最终达到我们程序的终极。
设计模式的基本原理有三:
1.开闭原则
简单的说,开闭原则就是:程序应该对修改关闭,对扩展开放。
对于我们的一个项目来说,我们希望项目具有很好的扩展性能,所以我们要尽可能的使类与类之间的关系更为明朗化,达到胡 总前面所讲的“低耦合,高内聚”的目的。对修改关闭的意思其实就是我们一旦写好了一个类,那么,这个类我们就尽量(几乎)不要再去修改,而且要尽量的避免它与其他类之间所产生的“耦合”关系,这是我们程序达到一种鲁棒境界的要素,一旦我们需要添加扩展程序的时候,就再写一个类或者模块,加到我们的源程序中;试想,倘若我们一开始就将类之间的关系写得相当复杂(A调用了B,B调用了C,C调用了D,D调用了E,E调用了B,B调用了E,……),那么当我们要再加入一个心的功能时,麻烦了,我们几乎要修改与之关联的所有类的代码,当然,事先还要将这些代码通读一遍,以求做到心中有数。那么,现在,使用了开闭原则,使我们工作量大大减小,同时程序也更为健壮了,我们的目的初步达到了。
2.里氏代换
当我们的程序使用到继承的时候,知道继承有一个特点,就是子类可以在未重写父类的某个方法的情况下,调用父类的相应方法,这就是我们所说的里氏代换,其实,它就是继承的特性。
那么,有人要问,那么为什么还要单独将它拿出来呢?这个原理要告诉我们的是,子类可以方便的调用父类的方法,也就如同在讲继承时说的一样,减少了代码的冗余,增强了程序的可读性。可是,如果重写了呢?这就引出了我们的第三个原则:
3.少用继承,多用聚合
我们在编写程序的过程中了解到,如果在子类中重写了父类的方法,那么在父类中写过的被重写了的方法就失效了,相当与我们在父类中编写一个多余的方法,因为我们已经确定使用在子类中的那个方法了,尤其是当我们在实现多重继承时,那就更为麻烦了,每个继承者倘若都重写了这一方法,继承的效率将不可避免的降低,这是我们不愿看到的。所以,少用继承,而多用聚合,聚合其实就是我们所说的星形结构,这也是在原则一里面重点强调过的东西,少了很多的继承关系,就不会为很多由继承所带来的复用不足而头疼,变相的实现了程序的可操作性。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
初学者 很实用的 jsp学习笔记——初学者的选择
CSS/DIV实例——初学者,很简单的一看就懂。
SAP 采购价格条件技术——初学者必看.docx
SAP采购价格条件技术——初学者必看.pdf
方便大家对语言的学习~从简单的开始。一起努力哦
自己学Android没几天,这些代码风格是以初学者的风格,大神们勿喷。
C#语言规范4.0——初学者的好习惯,简单,通俗,易懂,希望大家养成编写语言规范的好程序员。
机器视觉入门介绍资料——面向初学者的视觉资料
设计模式——可复用面向对象软件的基础 对于初学者是一个比较好的学习资料
学习LINUX的课程小程序,有助于理解linux的很多概念与相关的系统编程的函数理解!借助这些实例,更好理解在linux下进行系统编程的学习!
设计模式课件,C++语言,详细明确,可提供初学者使用,很好的资源,欢迎下载使用。 23种模式,有实例代码展示 设计模式课件,C++语言,详细明确,可提供初学者使用,很好的资源,欢迎下载使用。 23种模式,有实例...
非常适合 初学者 非常好的基础教程 结合该资料可以很容易入门哦
非常适合初学者的一篇教程,简单易懂,麻雀虽小、五脏俱全。
这本秘籍系偶千辛万苦寻来,据说来源于海外。初学者习之,可扎稳根基;资深者习之, 可理清脉络。此乃入门珍品,高级内外功大法,日后再展现众人
Oracle数据库设计文档——帮助数据库初学者了解数据库设计,
LaTeX入门,适合初学者入门用。LaTex是科技论文写作的利器,特别是针对复杂公式的排版,LaTex相对于传统Word版面更美观、整洁,而且完全符合国际通行规范!
呵呵初学者可以下了看看,高手就算了,见笑了 内附源代码和说明文档了,配置不是很难~
这是一个关于eda学习的好资料,对于初学者帮助会很大。
C语言的编码规范,对初学者提高水平具有很大作用
里面有很多经典例子,初学者必备,简单易懂