设计模式
设计模式整理
心心念念的小鼠标
为梦想而疯狂!
展开
-
考的好不好?-单例模式来解答
从小就很反感考试,因为每次考试完不管是谁,碰见你的第一句问候语就是:考试考得怎么样啊?期末成绩出来了吗?……所以从小就很害怕成绩单的出现,因为成绩单只要不出现,自己就可以随意编篡,问自己考得怎么样?当然往好里说吧!还行吧!挺好的…… 因为考试考得好不好,是由自己内心来判断的,考得好,我当然希望告诉他人;但是考得不好,我也不想让他人知道,所以只要蒙混过关就可! 这样就谈到原创 2014-04-26 16:48:59 · 1316 阅读 · 20 评论 -
OO模式-Singleton
讨论一:既然只有一个类?为什么非要用一个模式来定义?难道就不能用程序员之间的约定又或者使用伟大的设计模式来完成?1)先来说说全局变量的好处,当定义一个全局变量时,任何一个函数或者一行代码都可以轻松访问所有的全局变量,并且不用付出额外的代价,轻松简便。就如在敲机房收费的时候,我就定义机房登陆用户名为一个全局变量,因为在整个系统的执行过程中,很多方面都用到了用户名的信息,在此,调用全局变量,轻而易举就...原创 2014-10-05 22:09:24 · 1466 阅读 · 18 评论 -
设计模式总结-行为模式
了解了这么多模式,在学习的原创 2014-04-29 20:20:49 · 1266 阅读 · 15 评论 -
迭代器模式
想法:看完售票员这个迭代高手,突然想起了自己高中之前当课代表的无聊日子了!每天面对教室中那些黑压压的人群,就有点透不过气来!更何况天天还得催着他们交作业!更是透顶的无聊啊!最可恨的还是每次总是有那么几个人忘记或者就是故意不交作业,让自己着实费一番苦工把他们搜索出来!定义:迭代式模式,提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。就如自己这个课代表职位,不管是学原创 2014-04-23 16:06:10 · 1478 阅读 · 18 评论 -
装饰模式VS建造者模式
装饰模式和建造者模式的介绍和比较,我觉得弄了半天其实就有一条最明显的不同,装饰模式的构建过程是不稳定的,如对人的穿着,正常点就是合理搭配,不正常的则属于是个性。而建造者模式的构建过程是稳定的,如去德克士吃饭,不管你要什么,肯定都是那么个过程,不会打乱。原创 2014-03-25 20:20:15 · 2420 阅读 · 21 评论 -
OO模式-Composite
本篇文章主要就是对组合模式的一个简单认识,在什么情况下采用该模式等等的简单介绍!原创 2014-10-13 18:59:21 · 1532 阅读 · 20 评论 -
命令模式-重温策略
还记得一个多月前写的策略模式,自己出门旅行到底乘坐什么工具呢?这得由自己的想法以及原创 2014-04-28 14:18:14 · 1435 阅读 · 13 评论 -
原型模式
看设计模式看到了原型模式,居然还有这个模式啊!最近学的真的是到处都有模式的影子啊!到底什么是原型模式呢?原型,原型,顾名思义,不就是好多东西他们共同的主题部分不变,而细节也无需知道,这应该就是一个原型模式吧!定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。结构图:克隆对于我们是一个很常见的名词,也是设计模式中常用的,所以.NET在System命名空间中提供了原创 2014-04-02 20:28:44 · 1528 阅读 · 15 评论 -
OO模式-Proxy模式<二>借助反射实现动态代理
上边主要是对于静态代理的一些学习,代理送花,却赔了夫人又折兵的故事已深入人心。本篇来介绍一下何为动态代理? 动态代理,相比静态代理来说,最大的优势就是避免了重复代码的出现。上篇方法执行提示的例子,到结尾虽然我们完成了代理模式的任务,为其他对象提供一宗代理以控制对这个对象的访问,但是却远远满足不了我们的需求,如果我有多个方法,那么如果采用上述方式,我们在每个代理类的方法里都得写对应的提示,也就是重复类的代码执行影响了开发效率。 看我们之前的小例子,创建一个LogHandler,来实现创原创 2015-11-03 21:46:20 · 782 阅读 · 10 评论 -
OO模式-Proxy模式<一>静态代理
还依稀记得那个很经典的例子,王五喜欢一个女孩,但是过于害羞,让同伴李四代替自己去送花,最后女孩收到了话,但是猜想一下结果…………1、女孩很高兴,但是不知道到底是谁送的花;2、女孩很高兴李四送给自己花,并对李四有好感;3、女孩知道是王五托李四送给自己的话,心里甚是感激之情。当然咱们的重点并非是猜想最后的结果是什么,而是分析其实本来王五的事情却让李四去帮忙完成,没有直接和女孩交涉,这其实就是一个代理模原创 2015-11-03 11:23:50 · 759 阅读 · 8 评论 -
代理模式VS适配器模式
1)适配器模式定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。简单点就是需要的东西就在面前,但却不能使用,而短时间又无法改造=它,于是我们就想办法适配它。举一个生活中最常见的例子!就如我们的球类吧!如排球,如果只是想拿着排球在自行车老大爷那说点好的来打气是行不通,因为那的打气筒是无法往你的排球里灌入气体的,所以你原创 2014-03-26 20:55:05 · 3173 阅读 · 19 评论 -
设计模式总结-结构型模式
如何组合类和对象以获得最大的结构不是对接口和实现原创 2014-05-03 16:31:47 · 1416 阅读 · 10 评论 -
状态模式
感慨:有时候生活中总会遇到这样的尴尬状况:话说着说着,突然就不理人了!感同身受一下,遇到这样的情况真的是心里很不好受啊!尽管他是无意的,可是结果已经成这样的,到最后肯定是矛盾一场啊!不过天最终还是会晴的,不就之后就会发现刚才吵架的两个人又有说有笑了!总结一句话:人呐!真是善变的动物!人的生活不就是四种表情状态吗?喜怒哀乐!阴晴不定!用个图来形容一下:结构图:实现的相关代码:原创 2014-04-06 15:42:50 · 1390 阅读 · 15 评论 -
外观模式 VS 中介者模式
看外观模式,自己刚开始的简单理解就是这个模式特别省事,方便自己。定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。讲述:外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一接口,降低子系统与客户端的耦合度,且客户端调用非常方便。说一个很常见的例子,比如原创 2014-04-04 09:58:22 · 2083 阅读 · 11 评论 -
设计模式-六大原则
设计模式六大原则原创 2014-03-25 09:40:03 · 1576 阅读 · 19 评论 -
状态模式与外观模式的碰撞
一、举例体验炎热的季节又来到了,收拾橱子整理衣服,发现冬天的大棉服还没有收拾,到底是手洗呢?还是送到洗衣店呢?真的是愁啊?愁?送到洗衣店不用自己动手,只要交上Money就一切解决,是方便了,可是心疼那些钱啊,偷懒的同时心情也不是很好;不送到洗衣店,自己动手来解决,心情也不是很好,因为还得自己动手啊!面对那么厚的衣服,不洗都感觉很累啊!突然间想到自己在家悠闲的日子了,因为又不用花钱,也不用自己动手啊!心情当然高兴了!(一切老妈来搞定)。这段小故事不就体现了两个设计模式吗?把衣服送到洗衣店,不用自己来面原创 2014-04-09 19:21:46 · 1608 阅读 · 15 评论 -
自考感悟,话谈备忘录模式
2014年4月20号上午11:30,正式结束了自己的自学考试!考完原创 2014-04-22 14:20:48 · 1617 阅读 · 20 评论 -
观察者模式
一、介绍观察者模式又叫做发布-订阅模式,模型-视图原创 2014-04-05 14:56:05 · 1620 阅读 · 15 评论 -
出行选择-策略模式
设计模式之策略模式&状态模式原创 2014-03-15 15:40:02 · 2874 阅读 · 22 评论 -
VB.NET & 职责链模式 (下机时间操作)
前几天一直在讲设计模式,在和师哥师姐的讨论过程中,发现能在机房收费个人重构版中用到好几个设计模式,首先来讨论讨论职责链模式:首先当看见这个模式的第一眼就觉得这是一个很简单的模式,可是当使用起来真的得考虑许多,首先要明白什么是链?链是一系列节点的集合,可以灵活拆分再重组。这也是与 链表不同的地方,用户可以去访问节点中的任何一点作为开始节点。定义:使多个对象都有机会处理请求,从而避免请求的发送原创 2014-08-14 23:36:20 · 1506 阅读 · 23 评论 -
VB.NET & 策略模式(下机用户类型选择)
上篇文章讲述了对于下机操作和基本数据设定的时间联系,今天主要就是应用“策略模式”来了解了解对于固定用户,以及临时用户之间的选择,看学习设计模式的时候自己对于策略模式的理解,我们可以把固定用户和临时用户封装起来,这样系统就可以按照用户的类型来进行选择了。当然前提首先要抽象一个类,来封装这两个用户类型。原创 2014-08-21 00:12:52 · 2104 阅读 · 26 评论 -
创建型模式-工厂三姐妹
就简单工厂而言,算是三姐妹之中最小的一个,也是最简单的一个了! 简单工厂模式是类的创建模式,又叫做静态工厂方法模式。虽然为很多模式提供了基础与方便,但是他却不属于23种GOF设计模式之一,至于为什么?或许就是因为他不符合开放-封闭老爷子的脾气吧! 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。原创 2014-05-01 20:53:13 · 1198 阅读 · 10 评论