随笔分类 -  设计模式

摘要:先不管模式, 把他和他的名字都忘了, 来看看问题 和 设计思路. 为啥要这么做. 有一家店铺, 里面有一个售货员, 售货员当然是要卖东西的啦, 客户进来买完东西, 找售货员结账, 那售货员得知道一共多少钱吧? 一. 初步设计 商品类: 由于价格我使用的是 Long 类型, 所以, 要有一个转换输出的 阅读全文
posted @ 2018-01-02 19:41 Sniper_ZL 阅读(404) 评论(0) 推荐(0)
摘要:如果你是一名建筑工人, 现在要建一栋十几层的楼房, 你会按照什么样的一个顺序去建造呢? 正常来说, 肯定是先打地基, 然后在此基础上, 建一层, 建第二层 ...... , 就现在中国的科技来说, 还没有说, 可以先建顶层, 再打地基, 在建倒数第二层, 这样一种随心所欲的建造方法来实现吧. 说白了 阅读全文
posted @ 2016-12-12 14:18 Sniper_ZL 阅读(305) 评论(0) 推荐(0)
摘要:原型模式从字面上来看, 可能还不是那么通俗, 通俗点讲, 可以说是拷贝模式. 从拷贝来说, 有完全拷贝, 和不完全拷贝. 就仿佛孙猴子的吹毛生猴, 但是这些小猴子明显就没有孙悟空本体厉害, 这种拷贝, 算是浅拷贝吧. 既然有浅拷贝, 那肯定也是有深拷贝的. 深拷贝就是小猴子与孙悟空本体一样厉害, 无 阅读全文
posted @ 2016-12-12 11:10 Sniper_ZL 阅读(331) 评论(0) 推荐(0)
摘要:观察者模式, 就像一群人在玩大家来找茬一样, 一幅一幅的玩. 这种玩的方式, 是类似于推拉模式中的推模式的. 推送给玩家的是, 两幅图片, 相同的部分和不同的部分都推送给你, 但是, 作为玩家来说, 其实更想要的, 只是不同的部分. 下面以一个简单的示意性实现为例,讨论观察者模式的结构。 观察者模式 阅读全文
posted @ 2016-12-07 09:50 Sniper_ZL 阅读(361) 评论(0) 推荐(1)
摘要:单例模式, 顾名思义, 就是共用同一个实体对象. 对于共用, 首先想到的就是static静态变量, 那么怎么使用static去实现单例呢. 一、单线程单例模式 由于这个模式的实现还是比较简单的, 所以直接上代码.(不推荐使用此方式) 私有化构造函数之后, 外部就不能通过new A()的方式来实例化A 阅读全文
posted @ 2016-12-05 16:04 Sniper_ZL 阅读(486) 评论(0) 推荐(0)
摘要:一、抽象工厂模式 在工厂方法中, 所创建的汽车都是没有品牌的汽车. 现在假设, 车子有品牌了, 并且不止只有汽车, 还有自行车的生产. 那么可以把汽车和自行车做成两个抽象产品, 代码如下: 为什么要把产品做成抽象的呢, 因为虽然各品牌的产品大体相同, 但是其中很多细节还是不一样的. 所以就产生了两种 阅读全文
posted @ 2016-11-29 14:49 Sniper_ZL 阅读(422) 评论(0) 推荐(0)
摘要:上一篇, 介绍了简单工厂模式, 在最后提出了一个问题, 如果我的程序需要扩展, 加一种产品进去, 显然, 简单工厂是不能胜任此项工作的, 那么需要另请高明 - 工厂方法模式. 当然, 抽象工厂, 也是可以加产品的, 动态添加程序集, 然后反射的方式就可以创建出我们新加的对象. 不过此处, 主要还是介 阅读全文
posted @ 2016-11-28 15:34 Sniper_ZL 阅读(339) 评论(0) 推荐(0)
摘要:前言: "软件模式的伟大之处, 就在于他们传达了许多有用的设计思想. 所以, 在学习了大量模式之后, 就理应成为非常优秀的软件设计人员, 不是吗? 当学习、使用了几十个设计模式之后, 我也曾这样认为. 模式帮助我开发灵活的框架, 帮助我构建坚固、可扩展的软件系统. 但是几年之后, 我却发现自己在模式 阅读全文
posted @ 2016-11-28 14:01 Sniper_ZL 阅读(401) 评论(0) 推荐(0)