设计模式
十年磨一剑一剑悠十年
这个作者很懒,什么都没留下…
展开
-
行为型模式
商场促销——策略模式 定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 故事:大鸟给小菜出了个作业,让他做一个商场收银系统 考题抄错会做也白搭——模板方法模式 定义一个操作的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 ...原创 2017-03-28 17:12:18 · 456 阅读 · 19 评论 -
结构型模式
在NBA我需要翻译——适配器模式 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 故事:在火箭队的这几年姚明的英语练出来了,但是在几年前他也需要翻译呀。所以在之前的比赛要为姚明配备翻译。 何时使用?如果想使用一个已存在的类,但如果它的接口,也...原创 2017-03-28 09:51:58 · 354 阅读 · 10 评论 -
创建型模式
代码无措就是优?——简单工厂模式 定义一个工厂类,根据返回参数的不同实例化合适的类。 故事:小菜计算机专业毕业了,大鸟要他写一个计算器的代码。 雷锋依然在人间——工厂方法模式 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 故事:小菜的大学同学经常帮助孤寡老人,不幸出了车祸,所以委托小菜他们帮他继续做这件好事...原创 2017-03-27 18:27:57 · 428 阅读 · 11 评论 -
简单工厂模式
故事一:通过让小菜使用任意一种面向对象的编程语言(C++、Java、c#、vb.Net)实现一个计算器控制台程序。通过古代活字印刷的故事,以及复制vs复用这个例子,引用了业务的封装。写一个Windows应用程序的计算器,可以复用(Operation)这个运算类。什么是业务的封装呢?让业务逻辑和界面逻辑分开,让它们的耦合度降低,从而实现前面所说活字印刷的前两个效果(可维护、可复用) 故事...原创 2017-02-16 16:39:39 · 534 阅读 · 20 评论