开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之中的一个,其他非常多的设计原则都是实现开闭原则的一种手段。开闭原则中“开”,是指对于组件功能的扩展是开放的,是同意对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的改动是封闭的,即不应该改动原有的代码。遵循开...
分类:
其他好文 时间:
2014-07-06 22:41:05
阅读次数:
225
虚方法 1.在父类中的虚方法有默认的实现2.子类可以重写父类的虚方法override多态 LSP(里氏替换原则) 父类变量 指向 子类对象抽象方法 1.没有方法体2.必须在抽象类中 3.子类必须重写抽象方法,除非子类也是一个抽象类 4.抽象类不能实例化 5.抽象成员的访问修饰符不能private ....
分类:
其他好文 时间:
2014-07-06 22:17:40
阅读次数:
301
设计模式01Table of Contents1 设计模式1.1 基本原则1.2 开-闭原则1.2.1 与其他原则关系1 设计模式1.1 基本原则系统的可扩展性由开-闭原则、里氏代换原则、依赖倒转原则、组合/聚合复用原则保证;系 统的灵活性由开-闭原则、迪米特原则、接口隔离原则保证;系统的可插入性由...
分类:
其他好文 时间:
2014-07-06 21:14:58
阅读次数:
198
最近在学习李建忠老师一系列的关于面向对象设计模式的课程,就想着把总结下来,以便自己以后的学习,设计模式是一个比较空洞的话题,随着我们的编程经验的积累,我们能增加对它的理解,这是一个日积月累的过程,但是我们应该在平时的编程过程中学会思考和分析,想一想在某种特定的场景下使用什么样的设计模式,怎样才能做到...
分类:
其他好文 时间:
2014-07-06 20:08:59
阅读次数:
127
单一职责原则(SingleResponsibilityPrinciple)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方...
分类:
其他好文 时间:
2014-07-06 19:31:49
阅读次数:
275
前言 从方向上改变糟糕的代码设计,如果你还是很直白的过程式思维,还在被一大堆的if else,随处可见的for、while所困扰,是时候学习设计模式了。 正文 软件设计中的合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用类继承。 合成和聚合都表示关联的特殊种类。聚合表示一种弱的”拥有“关系,体....
分类:
其他好文 时间:
2014-07-06 19:21:45
阅读次数:
176
1、预留退路:在禁止Js或者Js不被支持的情况下,网页还能正常工作。也就是说,虽然某些功能无法使用,但最基本的操作仍能顺利完成。案例:点击链接,打开一个新窗口。就如本站的登录(弹出一个模拟窗口),与其让用户在点击链接的时候被带离当前页面,不如让用户仍停留在当前页面,并用一个弹出窗口来显示相关信息,这...
分类:
Web程序 时间:
2014-07-06 15:20:07
阅读次数:
136
maven继承管理 让版本的管理只在一个地方改变modules用于聚合,把执行的项目都放到同一的地方用module包括,可以省去一个个项目去mvn install,这样可以所有项目一次聚合 mvn install传递性依赖原则:A-->BA-->C1.路径最近者优先2.路径相同,第一声明者优先注意:...
分类:
其他好文 时间:
2014-07-06 14:35:03
阅读次数:
134
近期发现网上grails因为用的人不算非常多,相关的资料也不是那么easy找到,随着学习的深入打算把我的学习心得定期分享出来。也给学习grails的同胞一个偷懒的机会,我的原则是以最简洁的方式学会Grails,这次分享的东西是grials中比較经常使用的Render、Session、重定向的使用1....
分类:
其他好文 时间:
2014-07-05 21:43:39
阅读次数:
239
#encoding=utf-8
#这是一个易经的启卦程序,在windows下的python3.3下创建‘
#启卦要本着易的四原则,无事不占,不动不占,无疑不占.不能乱占。
#预测原理是,随机生成一组6个红球号码,然后运行易经启卦程序,如果此结果
#为上上卦,那么这组号码就被打印出来,如果不是遇继续..
分类:
编程语言 时间:
2014-07-04 06:49:48
阅读次数:
243