代码改变世界

随笔分类 -  Study-HeadFirst

工厂模式 Factory

2011-07-13 00:29 by 三皮开发时, 254 阅读, 收藏,
摘要: 工厂模式记得一个好友面试的时候,面试官问他,你怎么获得一个类的对象的好友说,new一个啊,的确没错,对象不是new难道还是create...当然在使用new对象的时候,这段代码也就意味着难以以后的维护和扩展了,怎么让灵活起来呢,这里就说到了工厂模式的好处了工厂模式的好处系统的灵活性、可扩展性、可维护性抽象工厂这里着重讲下之前在项目中使用到的工厂模式DataAccess:对象工厂->创建对象usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Configurati 阅读全文

装饰者模式-Decker

2011-07-06 23:55 by 三皮开发时, 240 阅读, 收藏,
摘要: 举例说明该模式的应用场景:比如星巴兹咖啡,咖啡由饮料+调料组成,不同的饮料,调料价格也有所不同,并且客户的需求各有不同,调料的份数也各不相同,在这种需求变化较大的情况下如何设计一个结构能很好的解决星巴兹咖啡的烦恼(计算用户咖啡费用)分析:结合代码:Beverage:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceDeckerMode.Base{///<summary>///饮料抽象类///</summary>publicabstractclass 阅读全文

观察者模式 Observer

2011-07-05 01:13 by 三皮开发时, 284 阅读, 收藏,
摘要: 举例说明该模式的应用场景:1.比方说有个气象站,气象站的功能就是会收集气象信息,温度、湿度、气压等;现在有3个关于天气的布告栏,由于各地的生活环境、方式不一样,所以显示的数据信息也各有所异,比如:①号布告栏显示温度和湿度就行 :温度、湿度②号布告栏显示气压 :气压③号布告栏显示气象站的全部信息 :温度、湿度、气压要求是气象站一有新的气象数据立马更新3个布告栏,使信息同步准确,这种需求如何设计呢?2.再举个应用场景,如报社和读者之间的关系,只要读者订阅了报社业务,报社就会如期给读者送去报纸,读者也可以根据自己的需要订阅自己喜欢的类型信息,如订阅财经、军事、政治等不同类型报纸,这种类型的业务如何设 阅读全文

策略者模式

2010-05-13 21:03 by 三皮开发时, 601 阅读, 收藏,
摘要: 1.起因 Joe上班的公司做了一套相当成功的模拟鸭子游戏,游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫,系统的内部设计使用了标准的OO技术,设计了一个鸭子超类,并让各种鸭子继承此超类 代码是这样写的2.改进(扩展)公司竞争压力加剧,在头脑风暴会议之后,主管认为该是创新的时候了,他们需要展示一些“真正”让人印象深刻的东西来振奋人心,主管确定需要会飞的鸭子来将竞争者抛在脑后,... 阅读全文

多态的应用

2010-05-13 13:44 by 三皮开发时, 186 阅读, 收藏,
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--namespaceFirst{publicclassAnimal//动物类{publicvoidNoVirtual()//非虚方法{Console.WriteLine("我不是虚方法");}publi... 阅读全文

抽象方法

2010-04-26 21:55 by 三皮开发时, 301 阅读, 收藏,
摘要: 1.抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。(一定要被实例化来覆盖抽象方法的)[代码]2.其实如果类包含抽象方法,那么该类也是抽象的,也必须声明为抽象的。如果[代码]就会报编译错误...3.以下是C#语法基础3.1.C#类和接口的区别接口是负责功能的定义,项目中通过接口 来规范类,操作类以及抽象类的概念!而类是负责功能的具体实现!在 类中也有抽象类的定义,抽象类与接口的区别在... 阅读全文