设计模式
文章平均质量分 69
设计模式大行其道的原因就是它可以实现代码的可复用性、可维护性、扩展性以及灵活性。设计模式的实现遵循了一些原则,从而代码达到这些目的,设计模式对理解面向对象的三大特征有很好的启发,不看设计模式,很难深层地体会到面向对象开发带来的好处 。
mayfla
hahahhaha
展开
-
GoF这个大家庭——团结合作才是王道
设计模式是在程序设计阶段使用的非常重要的工具,虽然说模式有千千万,但是在这里我们只学习23种设计模式和6种模式原则。 首先,来讲个故事:从前,有个小国家叫设计模式国,他们里面有很多勤劳的人,随着经济的发展,它们的生活水平也在不断提高,对于生活的要求也不断提高,所以社会的分工就在不断的细化,然而越分越多,就造成了很多资源上的浪费。为了达到资源复用的目的,所以国王决定对人们进行分工,把擅长原创 2014-09-10 20:21:23 · 1551 阅读 · 9 评论 -
GoF之迪米特法则
猫拿着手枪对着老鼠说:1+1等于几?。老鼠战战兢兢的回答:等..等于2。啪…,老鼠被打死了,猫酷酷的吹着枪管说:怪只怪你知道的太多了。 我们就在这个小故事里认识迪米特原则吧。原创 2014-09-04 21:58:54 · 1299 阅读 · 6 评论 -
GoF之组合/聚合复用原则
组合/聚合复用原则(Composition/AggregationPrinciple ) 该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。 其实这里最终要的地方就是区分“has-a”和“is-a”的区别。继承虽好,可以实现父类代码的复用,但是相对于合成和聚合,继承的缺点在于:父类的方法全部暴露原创 2014-09-04 21:49:16 · 1150 阅读 · 5 评论 -
GoF之里氏代换原则
定义1:子类型必须能够替换掉它们的父类型。 定义2:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。 描述:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别,也就是说,在软原创 2014-09-04 21:46:36 · 1168 阅读 · 3 评论 -
GoF之依赖倒转原则
依赖倒转原则(Dependence Inversion Principle) 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程。 看这个定义的时候有些不懂什么高层模块,低层模块,或者抽象和细节。但是细细的分析: 依赖倒转其实就是谁也不要依靠谁,除了约定的接口,大家都可以灵活自如。依赖倒转可以说是面向对象设计的原创 2014-09-04 20:44:10 · 1111 阅读 · 6 评论 -
GoF之单一职责原则
2.单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责,应该仅有一个引起它变化的原因 说到单一职责原则,就让我想到了GTD的核心理念——清空大脑,只做一件事。就是把自己的精力和时间投入到单一的事物上,就可以高效的完成,不会做这件事想着那件事。在软件编程中,谁也不希望因为修改了一个功能导致原创 2014-09-04 20:20:35 · 1152 阅读 · 5 评论 -
GoF之开-闭原则
看完设计模式之后才知道设计模式大行其道是为什么,其根本原因就是为了实现代码的复用性,增加代码的可维护性、可扩展,以及灵活性。设计模式的实现遵循了一些原则,从而代码达到这些目的,设计模式对理解面向对象的三大特征有很好的启发,不看设计模式,很难深层地体会到面向对象开发带来的好处 。在刚开始学习中,很难做到将这些模式融汇贯通,所以这个需要我们在编码前多思考,等到想充分了,在开始实践编码。下面是 1.开原创 2014-09-04 18:58:22 · 1160 阅读 · 5 评论