C#设计模式》PPT及源码分享

刘伟技术博客

刘伟技术博客: http://blog.csdn.net/LoveLion/article/details/9149029  

专访刘伟:软件开发人员的内功修炼之道 : http://www.csdn.net/article/2013-01-15/2813690

设计模式搜索: http://so.csdn.net/search?utf8=%E2%9C%93&t=&q=C%23%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F&commit=%E6%90%9C+%E7%B4%A2&sort=

《C#设计模式》一书所有PPT及源码已上传至百度文库百度云网盘,欢迎各位阅读与下载,如有意见和建议,请发送邮件至:weiliu_china@126.comweiliu_china@163.com微笑

 

当当网            亚马逊             京东网

 

        PS:本人正准备编写一本关于C++设计模式的书,如果大家有好的基于C++的模式应用实例或者建议,也可以给我发送邮件!吐舌头

 

      第1章  http://wenku.baidu.com/view/42684114bed5b9f3f90f1c83.html

      第2  http://wenku.baidu.com/view/b919bb5afe4733687e21aa1e.html

      第3章  http://wenku.baidu.com/view/185ecd61a417866fb84a8e8d.html

      第4章  http://wenku.baidu.com/view/2c0c352b0912a21614792978.html

      第5章  http://wenku.baidu.com/view/a15af4186c85ec3a87c2c584.html

      第6章 式 http://wenku.baidu.com/view/30fb28c484254b35effd340f.html

      第7章  http://wenku.baidu.com/view/bb720a0752d380eb62946d28.html

      第8章  http://wenku.baidu.com/view/d04c5560f46527d3240ce0b3.html

      第9章  http://wenku.baidu.com/view/aad4391b52ea551810a687da.html

      第10章  http://wenku.baidu.com/view/6ee1f4044431b90d6d85c714.html

      第11章 式 http://wenku.baidu.com/view/7a8b9ff94afe04a1b071ded8.html

      第12章  http://wenku.baidu.com/view/512b1409fad6195f312ba6f6.html

      第13章  http://wenku.baidu.com/view/cfd76f37192e45361166f503.html

      第14章  http://wenku.baidu.com/view/542b3c320722192e4536f657.html

      第15章  http://wenku.baidu.com/view/b3a92f86daef5ef7ba0d3c6a.html

      第16章  http://wenku.baidu.com/view/e46fa46c168884868762d689.html

      第17章  http://wenku.baidu.com/view/0d6f041bf12d2af90242e6a2.html

      第18章  http://wenku.baidu.com/view/35d26b5233687e21af45a9b6.html

      第19章  http://wenku.baidu.com/view/34f6a67d7e21af45b307a8c2.html

      第20章  http://wenku.baidu.com/view/89c34b95d4d8d15abe234ed3.html

      第21章  http://wenku.baidu.com/view/f6912b36482fb4daa58d4be5.html

      第22章  http://wenku.baidu.com/view/35d085731ed9ad51f01df2f9.html

      第23章  http://wenku.baidu.com/view/41e5ca1b7cd184254a353502.html

      第24章  http://wenku.baidu.com/view/b9d278760b1c59eef9c7b410.html

      第25章  http://wenku.baidu.com/view/6fee3b44f01dc281e53af048.html

      第26章 访 http://wenku.baidu.com/view/9d4d5a0255270722192ef75b.html

      附录A UML类图 http://wenku.baidu.com/view/3478dd66f242336c1eb95e60.html

 

      《C#设计模式》PPT 完整版及全部源代码下载地址:百度云网盘

       http://pan.baidu.com/share/link?shareid=2952925347&uk=117494410

 

《C#设计模式》封面

【作者:刘伟   http://blog.csdn.net/lovelion

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
完整的C#设计模式PDF版 C#设计模式(1) 4 一、 C# 面向对象程序设计复习 5 二、 设计模式举例 5 三、 先有鸡还是先有蛋? 7 四、 大瓶子套小瓶子还是小瓶子套大瓶子? 8 五、 .net本质 9 C#设计模式(2) 11 一、 "开放-封闭"原则(OCP) 12 二、 里氏代换原则(LSP) 12 C#设计模式(3) 19 三、 依赖倒置原则(DIP) 19 四、 接口隔离原则(ISP) 20 五、 合成/聚合复用原则(CARP) 21 六、 迪米特法则(LoD) 22 C#设计模式(4)-Simple Factory Pattern 24 一、 简单工厂(Simple Factory)模式 24 二、 Simple Factory模式角色与结构: 24 三、 程序举例: 25 四、 Simple Factory模式演化 27 五、 优点与缺点: 29 C#设计模式(5)-Factory Method Pattern 30 一、 工厂方法(Factory Method)模式 30 二、 Factory Method模式角色与结构: 30 三、 程序举例: 31 四、 工厂方法模式与简单工厂模式 33 五、 Factory Method模式演化 34 六、 Factory Method模式与其它模式的关系 35 七、 另外一个例子 35 C#设计模式(6)-Abstract Factory Pattern 38 一、 抽象工厂(Abstract Factory)模式 38 二、 Abstract Factory模式的结构: 39 三、 程序举例: 41 四、 在什么情形下使用抽象工厂模式: 44 五、 抽象工厂的起源 45 六、 Abstract Factory模式在实际系统中的实现 46 七、 "开放-封闭"原则 50 C#设计模式(7)-Singleton Pattern 50 一、 单例(Singleton)模式 50 二、 Singleton模式的结构: 51 三、 程序举例: 51 四、 在什么情形下使用单例模式: 52 五、 Singleton模式在实际系统中的实现 53 六、 C#中的Singleton模式 55 C#设计模式(8)-Builder Pattern 57 一、 建造者(Builder)模式 57 二、 Builder模式的结构: 58 三、 程序举例: 58 四、 建造者模式的活动序列: 62 五、 建造者模式的实现: 62 六、 建造者模式的演化 68 七、 在什么情况下使用建造者模式 69 C#设计模式(9)-Prototype Pattern 70 一、 原型(Prototype)模式 70 二、 Prototype模式的结构: 71 三、 程序举例: 71 四、 带Prototype Manager的原型模式 73 五、 浅拷贝与深拷贝 77 六、 Prototype模式的优点与缺点 79 C#设计模式(10)-Adapter Pattern 80 一、 适配器(Adapter)模式 80 二、 类的Adapter模式的结构: 81 三、 类的Adapter模式示意性实现: 81 四、 对象的Adapter模式的结构: 83 五、 对象的Adapter模式示意性实现: 84 六、 在什么情况下使用适配器模式 85 七、 一个实际应用Adapter模式的例子 85 八、 关于Adapter模式的讨论 87 C#设计模式(11)-Composite Pattern 88 一、 合成(Composite)模式 88 二、 合成模式概述 88 三、 安全式的合成模式的结构 90 四、 安全式的合成模式实现 91 五、 透明式的合成模式结构 93 六、 透明式的合成模式实现 94 七、 使用合成模式时考虑的几个问题 97 八、 和尚的故事 98 九、 一个实际应用Composite模式的例子 98 C#设计模式(12)-Decorator Pattern 101 一、 装饰(Decorator)模式 101 二、 装饰模式的结构 102 三、 装饰模式示例性代码 103 四、 装饰模式应当在什么情况下使用 106 五、 装饰模式实际应用的例子 106 六、 使用装饰模式的优点和缺点 110 七、 模式实现的讨论 111 八、 透明性的要求 111 九、 装饰模式在.NET中的应用 112 C#设计模式(13)-Proxy Pattern 113 一、 代理(Proxy)模式 113 二、 代理的种类 114 三、 远程代理的例子 114 四、 代理模式的结构 115 五、 代理模式示例性代码 115 六、 高老庄悟空降八戒 117 七、 不同类型的代理模式 118 八、 代理模式实际应用的例子 119 设计模式(14)-Flyweight Pattern 122 一、 享元(Flyweight)模式 122 二、 单纯享元模式的结构 122 三、 单纯享元模式的示意性源代码 123 四、 复合享元模式的结构 125 五、 一个咖啡摊的例子 127 六、 咖啡屋的例子 130 七、 享元模式应当在什么情况下使用 133 八、 享元模式的优点和缺点 134 设计模式(15)-Facade Pattern 134 一、 门面(Facade)模式 134 二、 门面模式的结构 134 三、 门面模式的实现 135 四、 在什么情况下使用门面模式 135 五、 一个例子 136 六、 使用门面模式的设计 140 设计模式(16)-Bridge Pattern 144 一、 桥梁(Bridge)模式 144 二、 桥梁模式的结构 145 三、 桥梁模式的示意性源代码 146 四、 调制解调器问题 149 五、 另外一个实际应用Bridge模式的例子 153 六、 在什么情况下应当使用桥梁模式 158 设计模式(17)-Chain of Responsibility Pattern 158 一、 职责链(Chain of Responsibility)模式 160 二、 责任链模式的结构 160 三、 责任链模式的示意性源代码 160 四、 纯的与不纯的责任链模式 163 五、 责任链模式的实际应用案例 163 六、 责任链模式的实现 168 设计模式(18)-Command Pattern 168 一、 命令(Command)模式 168 二、 命令模式的结构 168 三、 命令模式的示意性源代码 169 四、 玉帝传美猴王上天 172 五、 命令模式的实现 172 六、 命令模式的实际应用案例 173 七、 在什么情况下应当使用命令模式 177 八、 使用命令模式的优点和缺点 178 设计模式(19)-Observer Pattern 178 一、 观察者(Observer)模式 178 二、 观察者模式的结构 179 三、 观察者模式的示意性源代码 180 四、 C#中的Delegate与Event 183 五、 一个实际应用观察者模式的例子 187 六、 观察者模式的优缺点 191 设计模式(20)-Visitor Pattern 192 一、 访问者(Visitor)模式 192 二、 访问者模式的结构 193 三、 示意性源代码 194 四、 一个实际应用Visitor模式的例子 198 五、 在什么情况下应当使用访问者模式 202 六、 使用访问者模式的优点和缺点 203 设计模式(21)-Template Method Pattern 204 一、 模板方法(Template Method)模式 204 二、 模版方法模式的结构 204 三、 模板方法模式的示意性代码 205 四、 继承作为复用的工具 207 五、 一个实际应用模板方法的例子 208 六、 模版方法模式中的方法 210 七、 重构的原则 211 设计模式(22)-Strategy Pattern 211 一、 策略(Strategy)模式 211 二、 策略模式的结构 212 三、 示意性源代码 212 四、 何时使用何种具体策略角色 215 五、 一个实际应用策略模式的例子 215 六、 在什么情况下应当使用策略模式 218 七、 策略模式的优点和缺点 218 八、 其它 219 C#设计模式(1)
1、 FACTORY —追 MM 少不了请吃饭了, 麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西, 虽然口味有所不同, 但不管你带 MM 去麦当劳或肯德基, 只管向服务员说“来四个鸡翅”就行 了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消 工厂模式 费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如 何创建及如何向客户端提供。 2、BUILDER — MM 最爱听的就是“我爱你”这句话了,见到不同地方的 MM,要能够用她们的 、 方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到 MM 我只要按对应的键, 它就能够用相应的语言说出“我爱你”这句话了, 国外的 MM 也可以轻松 搞掂,这就是我的“我爱你”builder。 (这一定比美军在 伊拉克用的翻译机好卖) 建造模式: 从而使一个建造过程生成具有不 建造模式 将产品的内部表象和产品的生成过程分割开来, 同的内部表象的产品对象。 建造模式使得产品内部表象可以独立的变化, 客户不必知道产品 内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。 3、FACTORY METHOD —请 MM 去麦当劳吃汉堡,不同的 MM 有不同的口味,要每个都记住 、 是一件烦人的事情,我一般采用 Factory Method 模式,带着 MM 到服务员那儿,说“要一个 汉堡”,具体要什么样的汉堡呢,让 MM 直接跟服务员说就行了。 工厂方法模式: 而是将具体创建的工作交给子类去做, 工厂方法模式 核心工厂类不再负责所有产品的创建, 成为一个抽象工厂角色, 仅负责给出具体工厂类必须实现的接口, 而不接触哪一个产品类应 当被实例化这种细节。 4、 、 PROTOTYPE —跟 MM 用 QQ 聊天, 一定要说些深情的话语了, 我搜集了好多肉麻的情话, 需要时只要 copy 出来放到 QQ 里面就行了, 这就是我的情话 prototype 了。 (100 块钱一份, 你要不要) 原始模型模式: 原始模型模式 通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原 型对象的方法创建出更多同类型的对象。 原始模型模式允许动态的增加或减少产品类, 产品 类不需要非得有任何事先确定的等级结构, 原始模型模式适用于任何的等级结构。 缺点是每 一个类都必须配备一个克隆方法。 5、 、 SINGLETON —俺有 6 个漂亮的老婆, 她们的老公都是我, 我就是我们家里的老公 Sigleton, 她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事) 单例模式: 而且自行实例化并向整个系统提供这个实 单例模式 单例模式确保某一个类只有一个实例, 例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。 结构型模式 6、ADAPTER —在朋友聚会上碰到了一个美女 Sarah,从香港来的,可我不会说粤语,她不 、 会说普通话,只好求助于我的朋友 kent 了,他作为我和 Sarah 之间的 Adapter,让我和 Sarah 可以相互交谈了(也不知道他会不会耍我) 适配器模式: 从而使原本因接口原因不 适配器模式 把一个类的接口变换成客户端所期待的另一种接口, 匹配而无法一起工作的两个类能够一起工作。 适配类可以根据参数返还一个合适的实例给客 户端。 7、BRIDGE —早上碰到 MM,要说早上好,晚上碰到 MM,要说晚上好;碰到 MM 穿了件新 、 衣服, 要说你的衣服好漂亮哦, 碰到 MM 新做的发型, 要说你的头发好漂亮哦。 不要问我“早 上碰到 MM 新做了个发型怎么说”这种问题,自己用 BRIDGE 组合一下不就行了 桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关 桥梁模式 联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是 继承关系,从而使两者可以独立的变化。 8、COMPOSITE —Mary 今天过生日。“我过生日,你要送我一件礼物。”“嗯,好吧,去商店, 、 你自己挑。”“这件 T 恤挺漂亮,买,这条裙子好看,买,这个包也不错, 买。”“喂,买了 三件了呀,我只答应送一件礼物的哦。”“什么呀,T 恤加裙子加包包,正好配成一套呀,小 姐,麻烦你包起来。”“……”,MM 都会用 Composite 模式了,你会了没有? 合成模式:合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式就 合成模式 是一个处理对象的树结构的模式。 合成模式把部分与整体的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值