码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式学习心得(持续更新)

时间:2019-05-14 13:07:56      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:的区别   ref   替换   分析   算法   抽象   客户端   变化   tor   

本博文仅仅是笔者自己的学习路线,归纳整理了一些好的设计模式资料。

1、策略模式

参考资料:c#设计模式-策略模式?c#设计模式之策略模式 ?C#设计模式(20)——策略者模式(Stragety Pattern)

策略模式的实现有解耦的表现——Context类

注意: 如果优化的话,可以使用抽象类,将变化的算法设为抽象方法,或虚方法,这样让子类对该方法进行实现即可,同样可以实现该需求,而且代码重用性应该会更好

2、工厂模式

参考资料:C#设计模式(3)——工厂方法模式 ?C#设计模式(1)——简单工厂模式 ? C#设计模式(2)——工厂模式

由简单工厂模式到工厂模式的演进,是设计模式的原则之一:开放封闭原则 推进的。这一点在我们日常开发中有很明显的体现,我个人也是"后知后觉"。代码的开发应该对扩展开放,对修改封闭。

对比了下策略模式与工厂模式的实现,我发现其实可以很简单实现两者的相互转换:抽象和具体都是变动,策略模式中的Context层替换为工厂模式中的工厂层,就OK了。但是两者的含义不一样。从代码来分析,策略模式是在客户端已经明确了产品,工厂模式则是将产品委托给了工厂来创建。可参考? 简单工厂模式与策略模式的区别

设计模式学习心得(持续更新)

标签:的区别   ref   替换   分析   算法   抽象   客户端   变化   tor   

原文地址:https://www.cnblogs.com/zhiyong-ITNote/p/10861452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!