1 设计一个基类
2 继承这个基类,并包含这个基类的一个对象
3 创建继承类的时候,初始化这个基类,因为是基类指针,所以可以是所有基类的衍生类对象,那么就可以叠加任意多个衍生类对象了。
关键是在衍生类中包含一个基类对象,然后有了继承和包含两重关系,可以使得一个类一个类对象叠加,达到装饰目的。
等于是创建了一个对象指针链表,一个一个对象发挥其相应的作用。
下面程序装饰一个桌...
分类:
其他好文 时间:
2014-06-05 06:15:17
阅读次数:
278
组合 、委托
基本常识:策略模式和状态模式是双胞胎,在出生时才分开。
一般来说,我们把策略模式想成是除了继承之外的一种弹性替代方案。
什么时候用接口? or 抽象类?
当实现接口的类中,重复代码太多时,可考虑继承 。
OO模式:
状态模式--允许对象在内部状态改变时改变它的作为,对象看起来好像修改了它的类
如: 因为一个状态对应一个类, 每个类中的方法名相同,但实现不同...
分类:
其他好文 时间:
2014-06-05 03:52:54
阅读次数:
209
设计模式是从许多优秀的软件系统中总结出来的代码设计经验,也就是一些扩展性、灵活性好,易于维护和复用的设计方案,这可是前辈们的头破血流换来的。我们要站在巨人的肩膀上,吸取宝贵的经验,设计出优秀的软件系统来面对这个需求日新月异的信息时代。
设计模式以实现”六大原则“为方针,主要有23个,分为三大类。...
分类:
其他好文 时间:
2014-06-05 03:51:39
阅读次数:
214
其实看完两位老师的视频,包括查完一些基本概念之后感觉还是很模糊的。台湾腔蛮好听的,但是一些关键词概念还是需要转化成我们熟悉的。以现在的理解来看,vb.net是vb.net的语言和面向对象的结合。而正好.net Framework是提供各种类的。(当然这是一种很浅显的理解。)
我们学完vb 又学过c# 学设计模式也学过数据库因此 现在开始学vb.net。这正好将前面几者的内容做了一个结合。下面让我们来看看新内容里面的旧知识。...
分类:
Web程序 时间:
2014-06-05 02:47:38
阅读次数:
301
命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。
Command类,用来声明执行操作的接口。
ConcreteCommand类,将一个接受者对象绑定于一个动作,调用接受者相应的操作,以实现Execute。
Invoker类,要求该命令执行这个请求。
...
分类:
其他好文 时间:
2014-06-05 01:58:24
阅读次数:
277
一: MVC简介:
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式的目的:实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本...
分类:
Web程序 时间:
2014-06-05 00:54:40
阅读次数:
359
迭代器模式,提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
迭代器模式为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。
应用场景:
当你需要访问一个聚集对象,而且不管这些对象是什么都要遍历一遍的时候,你就应该考虑使用迭代器模式。当你需要对聚集对象有多种遍历时,可以考虑使用迭代器模式。
优点:
迭代器模式就是分...
分类:
其他好文 时间:
2014-06-05 00:21:12
阅读次数:
221
策略模式(Strategy Pattern)体现了两个非常基本的面向对象设计的原则
1、封装变化的概念;
2、编程中使用接口,而不是对接口的实现。
策略模式定义了一个共同的抽象算法接口,其子类实现这个接口定义的方法,并且都有各自不同的实现,这些算法实现可以在客户端调用它们的时候互不影响的变化。 子算法之间是弱连接的关系,提高了软件的可扩...
分类:
编程语言 时间:
2014-06-04 23:26:15
阅读次数:
429