设计模式C#
设计模式中的收获
不会编码的灯泡
这个作者很懒,什么都没留下…
展开
-
如何学设计模式
在第一遍学设计模式的时候以看为主,把书中的内容理解,在这个过程中会发现内容很简单,能很快看完,有种没多少东西的感觉。是这样吗?不然,在紧随其后的第二遍学习中,以写代码实践为主,这时候会遇到很多问题,程序运行不起来、代码不理解,等等。在这一遍的学习中要解决的问题是把代码理解了,初极难,但随着学习的不断进行,会发现程序设计的精妙支出,不禁赞叹、动容。这时候就会对设计模式有个相对清晰的认识了,也能试着用...原创 2019-10-28 16:11:34 · 283 阅读 · 21 评论 -
由简单工厂、工厂、策略模式引发的思考
“策略是事件的策略,工厂是方法的工厂。”设计模式的名都是有故事的此话怎讲?在做计算器的练习中我们用到的是简单工厂模式,具体代码可参考《大话设计模式》这本书,来看思路。计算器要想实现计算这件事需要4个“人”的参与:两个运算数字、一个算符(+ - * /)、一个结果。用初学者的方式就是将这4个“人”排好队,用if语句对应计算就OK了,没毛病。但是多个if语句的使用违背了编程的一个原则:...原创 2019-03-17 10:15:17 · 180 阅读 · 13 评论 -
设计模式之创建型——生产
1、抽象工厂:提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类非官方:工厂的结构和工厂模式的结构相同,只不过,抽象工厂生产出的(实例化)类不是一个具体的类,这样生成的类的类型就不受限制了,从而扩展了工厂的生产能力,使产品多元化。换句不严谨的话说,所用到的类都可以通过这个抽象工厂进行自己的实例化,而工厂只能供指定的类使用。2、建造者:将一个复杂对象的构建与它的表示分离,使...原创 2019-04-30 13:58:02 · 150 阅读 · 5 评论 -
设计模式之结构型——布局
1、适配器:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类一起工作非官方:可用于补救:你说英语我说汉语,事实已无法改变,但双方互不理解,不能解决问题,这时候适配器就上场了,提供一个转义的方法,将一方意思翻译成另一方能理解的表示传达给对方。可想想电脑的适配器原理,将一方电压转化成对方能接受的电压输送给对方,忽略单向输电的问题。2、桥接:将抽象部...原创 2019-04-30 14:01:47 · 161 阅读 · 7 评论 -
设计模式之行为型——动作
1、观察者:定义对象间的一种一对多的依赖关系,当一个对象发生改变时,所有依赖于它的对象都能得到通知并自动更新非官方:这个好像监控啊,它会及时的将监控点变化反馈给观察者,只不过它不是用来记录。什么情况需要安装监控呢,这些情况就可以考虑用此模式了。代理是帮人办事,观察者是给人站岗放风,他俩分到了不同的类型里呢,从功能上我认为前者的重点在于结构上的安排,属于可有可无的,没有代理者请求者还可以做这...原创 2019-04-30 14:06:10 · 234 阅读 · 8 评论 -
这是设计模式?——来自非官方定义的故事
看完设计模式后感觉整本书都在说解耦、减压这件事,根据场景、实际情况从不同的角度,不同的位置应用设计模式,从而使问题简化,从长远看还有可持续发展的作用。设计模式就是解决问题的方发,它是前人在实践中不断的总结凝聚成的,看完代码后不得不赞叹一声:妙!既然它是方法,那么不是说用的越多越好,用多了会把本来分好的块儿又打乱,起到相反的作用;恰到好处、刚刚好我认为是最好。当然,虽然书中给出了23个,但不要局...原创 2019-04-30 14:17:40 · 164 阅读 · 9 评论