结合简单示例和UML图,讲解工厂模式简单原理。一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上
Audi后他说“开奥迪车!...
分类:
其他好文 时间:
2014-05-01 15:22:03
阅读次数:
464
IOCP模型与网络编程一。前言:
在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找...
分类:
其他好文 时间:
2014-05-01 01:34:17
阅读次数:
413
在两年前学习C++的时候,知道抽象类这么一个概念,当时并不是很理解,如今在学习C#和设计模式的时候,再一次碰到了这个含糊不清的东西,同时又在C#中学习到了接口技术,接口也早有耳闻,但是当时理解的接口就是一个或者一组能够操作类中数据的函数或者方法。虽然老师举过很多例子,比如电视机这个事物,它对外的接口就是遥控器,遥控器里好多的按钮,按钮的下面就是各种各样的命令或者称之为方法。
当...
分类:
其他好文 时间:
2014-04-29 13:35:19
阅读次数:
239
State模式定义:
允许一个对象在状态改变是,改变它的行为。看起来对象似乎修改了它的类。
模式理解(个人):
State模式主要解决的事在开发中时常遇到的根据不同状态需要进行不同的处理操作的问题,而这样的问题,大部分人会采用switch-case语句进行处理,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
285
学好英语对IT软件工程师有一个非常大的影响,那就是你对于每天面对的代码会非常熟悉,不会有任何陌生感,也不会有模式切换带来的精力消耗。英语不好的时候,有一部分注意力会放在代码的语言理解上,跟母语不一样看起来总是怪怪的,有种特殊的陌生感(特殊是因为你你不认识代码,作为一种特殊语言认识的),现在这部分注意力和精力不需要再浪费了,可以有更多的注意力和精力放在方法的使用上、程序的设计上和设计模式的理解上。...
分类:
其他好文 时间:
2014-04-29 13:18:20
阅读次数:
285
刚看了看设计模式,真是费了好多的脑细胞。
想着想着就到了食堂。O(∩_∩)O哈!正是长身体的时候(大神勿喷),
一定要多吃点。于是我打了一份米饭,然后又端着盛米饭的盘子买了一份凉菜
,看着还不是很够,就又端着这个盘子买了一条最爱吃的鱼。
-----装饰模式!
饭 meal=new 饭("晚饭");
米饭rice=new米饭();
菜vegetables= new 菜();
鱼fish = new 鱼();
rice.Decorate(meal);
vegetables.Decorate(rice);...
分类:
其他好文 时间:
2014-04-29 13:13:20
阅读次数:
318
代理模式的本质:控制对象访问
既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可
同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问
从而实现控制对象访问的目的
何时选用代理模式
1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理
2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)
3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例
4.需要在访问对象执行一些附加操作的时候,...
分类:
其他好文 时间:
2014-04-28 10:27:41
阅读次数:
253
本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。
尊重作者,转载请注明晔阳的Bloghttp://blog.csdn.net/hacke2...
分类:
其他好文 时间:
2014-04-27 21:41:57
阅读次数:
270
STL实践与分析--泛型算法的结构引言: 正如所有的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础。 算法最基本的性质是需要使用的迭代器种类。所有算法都指定了它的每个迭代器形参可使用的迭代器类型。比如,如果形参必须为随机访问迭代器则可提供vector或 deque类型的迭代器,或者提供指向数组的指针。而其他容器的迭代器不能用在这类算法上。 C++还提供了另外两种算法模式...
分类:
编程语言 时间:
2014-04-27 21:36:05
阅读次数:
392