《大话设计模式》笔记1

经典设计模式23,现在开始利用上班时间研究。 代码例子我就不写了,书上有,而且也很好懂。建 议去看书。只写自己的理解,以及在工作中体会到的。

1.简单工厂模式:主要针对类的实例化的而设计,通过同一的方法产生不同的类的实例。

2.策略模式:是用于算法有异的条件下,通过继承统一接口,来达到算法替换的目的,如:商场打折行 为下,不同的打折条件。

3.类的单一职责:主要指一个类不应该承担不属于自己的方法,同时一个方法也不应当承担不属于的 自己功能,主要是为了实现复用和维护方便。比如:Form类,一般只承担界面操作,而逻辑操作要移交 给逻辑层处理。

4.开闭原则:一个类,对其修改是关闭的,对其扩展是开放的。实现手法应该是继承, B类继承A类, 继承了父类的

public class parent
{
public string height
{
get;set;
}
void do();
}
public class son:parent
{
public string width
{
get;
set;
}
void do1();
}
static void Main(string [] args)
{
son _son =new son();
console.write(_son.height);//parent property
console.wirte(_son.width);//son poperty
_son.do();//parent method
_son.do1 ();//son method
}

功能,同时又可以衍生出自己的方法属性。

5.装饰模式:装饰模式主要是符合开闭原则的条件下,通过继承来增强现有功能,就好比我们在写自 定义控件时候,通常都会override原来控件的某些事件,通过覆写来增强其功能。

public  abstract Class metaClass
{
public abstract void do(){};
}
public class decorateClass
{
public override void do()
{
base.do ();//原来动作
console.write('装饰动作');
}
}
//或者这样
public class metaClass
{
public void do(){};
}
public class decorateClass
{
metaClass _metaClass;
public decorateClass(metaClass _metaclass)
{
this._metaClass=_metaclass;
}
public void do()
{
if (_metaClass==null)
{
_metaClass=new metaClass();
}
_metaClass.do();//原 来动作
console.write("装饰动作");
}
}

时间: 2024-11-10 00:16:45

《大话设计模式》笔记1的相关文章

大数据典型相关分析的云模型方法

大数据典型相关分析的云模型方法 杨静   李文平   张健沛 针对传统大数据典型相关分析(CCA, canonical correlation analysis)方法的高复杂度在面临大数据PB级数据规模时不再适应的现状,提出了一种基于云模型的大数据 CCA 方法.该方法在云计算架构的基础上,通过云运算将各端点云合并为中心云,并据此产生中心云滴,以中心云滴作为大数据的不确定性复原小样本,在其上施以CCA运算,中心云滴的较小数据量提高了运算效率.在真实数据集上的实验结果验证了该方法的有效性. 大数据

《工作流管理——模型、方法和系统》笔记1

一.几个概念: 1.我们把一件"事"称为案例(case),有时又叫做工作(work),职业(job),产品(Product),服务(service),项目(item).案例总处于某个特定状态,该状态由三个元素组成: (1)案例相关的属性 (2)已经满足的条件 (3)案例的内容 2.本质上case都是离散的,它们有自己独立的开始和结束,都能彼此区分,每一个case都在一个过程中被执行.(其实这里的case就是我们一般工作流中的所谓工作流实例) 3.过程:由许多要被执行的task(任务)和

《工作流管理——模型、方法和系统》笔记2:Petri网对工作流建模

一.工作流概念 1.案例(case):工作流系统的基本目的就是处理案例,保险索赔.绩效考核.抵押申请等等都是案例.每一个案例都有一个唯一的标识,案例在出现和消失之间总是处于某个特定状态,这个状态有三个元素组成: (1)案例相关的属性,指出特定条件下案例是否被执行或者忽略 (2)已经满足的条件,说明案例的进展. (3)案例的内容,可能是文档.文件.档案或者数据库 2.任务(task),泛指一般的工作单元,而非具体案例活动的一次具体执行(这一般称为活动),为了区分这一点,引入了工作项(work it

毕业设计——第三章 开发方法及系统实现(2)

  3.3 地图操作类CMapControl详述 3.3.1地图操作类CMapControl 类的成员属性和方法 表 3-2 CMapControl类中实现的成员属性[5] 名称 数据类型 说明 ErrorCode int 该类中形成的错误信息 LintPtCount int 管线点的总数 mapZoomFull MapObjects2.Rectange 图层缩放处理 Message string 消息(包括错误信息) Model global.Model 当前模式 objMap AxMapOb

中国人工智能学会通讯——基于图像认知的心理测评方法及系统

摘要:长久以来心理障碍的诊断和评估通常都是建立在晤谈.观察.量表测验的基础上,交互繁琐困难,主观性比较大,使得人的心理特征难以快速获取和量化.本研究创新性地将心理学和信息科学结合在一起,建立了情绪图像库,通过考察前景人脸和背景情绪图像的不同交互效应,收集反应时.眼动轨迹等生理特征,结合机器学习算法的数据分析,提出了一种全新的基于图像认知,以及人的生理特征的客观.便捷地提取人的心理特征的方法. 关键词:图像认知:心理测评:情绪图像库:反应时:眼动轨迹:机器学习 图像心理学测试系统 随着社会压力的增

方法-应用系统集群部署架构设计(监听、通知)

问题描述 应用系统集群部署架构设计(监听.通知) A类有个a方法,B类有个b方法,当外部调用a方法时,通知b方法执行,如果b方法在执行就不通知其执行,让其继续执行,外部一直在调用a方法,但b方法一直只有一个线程在执行,应用系统是集群部署,不管部署多少应用,b还是只用一个线程在运行,或在1号服务器或在2号服务器或在N号服务器运行.这样的场景怎么去设计怎么实现,请各位大虾提供一些思路或方法,谢谢. 再描述一下场景:应用集群部署,但是公用同一个数据库,系统向外抛一个接口,调用方下行数据,调用方有多个,

老版本书中的例子用到newMessageElement()方法,系统报错怎么改?

问题描述 各位大侠,我自学JXTA技术手册,第五章RestoPeer和HungeryPeer中都有用到Message定义方法newMessageElement(),但系统报错:没有为类型Message定义方法newMessageElement(String,MimeMediaType,InputStream),可能是我用的lib版本2.3比较新,问题是怎么改呢?原例部分代码为:privatevoidsendFriesAuctionRequests(){//EnumeratealltheResto

毕业设计——第三章 开发方法及系统实现(6)(完结)

  第四章     技术经济分析 (1) 可视的.无纸化数据管理平台:由于工程在不同的建设时期,都会产生大量的原始资料,如果没有一个全面的数据管理,在进行工程规划和设计时,往往需要凭借记忆或者翻阅大量设备的原始资料来查找所需的资料.而在GIS系统中,不但可以方便.快速地找到所需数据,提高工作效率,而且可以省去用于这方面档案资料维护所消耗的人力和财力. (2) 强大的绘图检索功能:用户不但能快速.方便地进行数据检索查询,而且还具有事故区域分析检索和警报提示功能: (3) 统一.完善的指挥调度中心:

《Effective C#中文版:改善C#程序的50种方法》读书笔记

从去年找工作以来,都没什么时间写博客[找工作的体会:建议以后有自己开公司的IT人一定要找IT专业人员做HR,好多公司的HR并不能真正发掘人才,他们形成了太多的偏见,如在学校期间学不了什么东西.只看学校有多少奖励等.真正钻研技术的人才不会追求虚无的东西],其实这本书我都借了好久,一直没有系统的看,所以趁这两天好好看看,顺便总结了一些要点,给那些需要这方面知识而又没有太多时间的IT人一个快速的学习机会....如果要深入学习,请购买该书. 一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定

毕业设计——第三章 开发方法及系统实现(3)

  3.4.2数据操作类CDbProcess方法的具体实现 3.4.2.1 控件的初始化 由于在此次开发过程中,我们使用了DataGrid控件来存储基本的数据,因此在使用该控件时,必须对其进行初始化.初始化过程就相当于数据的重新安排以及数据表格的生成,生成的数据必须有利于后面的地图控件对数据的读取,同时,也需考虑到如何方便使用者读取数据. 为了满足地图控件的要求,首先考虑地图上最基本的点对象的三维坐标系统信息的存储,这些基本的信息是必须记住的,在随后的算法计算当中会使用到这些数据.因此,在数据中