跟着项目学设计模式
以一个服务开发人员的视角,和您一起跟着项目学设计模式
百里牛金
沟通简单反馈勇气谦逊
展开
-
跟着项目学设计模式(九) 装饰器模式
接上文,既然一个服务有多个消费者,在具体的功能实现上,会遇到许多有细微差别的地方,比如:对商品的修改有些服务需要短信通知后台管理员,有些服务需要通过邮件+站内消息的形式通知相关用户,有些服务要求无需任何通知操作。为了能兼容这些矛盾,我们尝试去添加相应的接口如下:public interface IOrder { //编辑 bool OrderEdit(Orde...原创 2018-09-26 11:06:59 · 1533 阅读 · 0 评论 -
跟着项目学设计模式(八) 代理模式
接上文,来看抽象工厂模式下的三层架构的代码实现,这里还是以用户模块为例。 //数据访问层接口 public interface IUser<T> { //根据参数获取用户列表 IList<T> GetEntitys(T entity); //登录判断 bool Login(stri...原创 2018-09-06 12:44:15 · 1873 阅读 · 0 评论 -
跟着项目学设计模式(七) 适配器模式
接上文,来看工厂模式下的三层架构的代码实现,这里以用户模块为例。 //数据访问层接口 public interface IUserDAL<T> { //根据参数获取用户列表 IList<T> GetEntitys(T entity); } //业务逻辑层接口 public interface I...原创 2018-09-06 12:01:11 · 1913 阅读 · 0 评论 -
跟着项目学设计模式(六):三层架构
前面用5个章节介绍了单例模式和工厂系列模式,这个过程中,如果算上网站开发人员的表示层,那么项目经历了二层到多层的演变:数据访问层+表示层 =》数据访问层+业务逻辑层+Client层+表示层至此,这个系列中对创建型设计模式的介绍也到此为止了。后面的文章,我们会把关注点放到具体的代码实现上,比如层与层之间如何调用,工厂模式与抽象工厂在代码实现上的异同等等,这里面会涉及到很多结构型设计模式相...原创 2018-08-30 14:39:23 · 2848 阅读 · 0 评论 -
跟着项目学设计模式(五):简单工厂+单例模式+静态类+延迟加载
接上文,项目交付之后,我们的类库开发人员发现自己穿越了,回到【设计模式——2、简单工厂模式】这篇文章所在时间线的最末尾。由于穿越所造成的蝴蝶效应,这个项目后期虽然确实需要扩展,但是只是要增加五到六个产品类,并要求尽快交付,以便将关注点放到其他更有价值的项目中去,那赶快来扩充我们的简单工厂吧。 public class Factory { /// <su...原创 2018-08-25 09:57:43 · 3825 阅读 · 0 评论 -
跟着项目学设计模式(四):抽象工厂模式
接上文,上次重构之后,还是比较顺利的,项目持续交付,众人各有所得,只是开发进度以前是卡在类库这边的,现在呢,慢慢的转移到网站这边了,这种情况愈演愈烈,终于到了不得不关注的时候了。为什么网站这边进度慢了?网站开发人员:以前的模块基本没有什么业务逻辑,我只需要关注View就可以了,Controller里的Action也就调一下类库,现在的模块好多都要复杂的业务逻辑,需要在Action中写大量的...原创 2018-08-24 16:04:19 · 2765 阅读 · 0 评论 -
跟着项目学设计模式(三):工厂模式
接上文,项目发布后,来了一堆新需求,要增加了好多模块,有急需上线的,有正在整合中的。某些新增的模块需要新的接口,比如增加了账单模块,需要一个生成报表的接口,这使你不得不在IProduct中添加这个新接口,而简单工厂中对接口IProduct的修改是致命的,因为修改IProduc就意味着修改所有的产品类,因为所有的产品类都实现IProduc接口,您不得不为其他模块添加空方法。这种方式显然是不能容忍...原创 2018-08-24 15:12:19 · 2534 阅读 · 0 评论 -
跟着项目学设计模式(二):简单工厂
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。对这句话最好解读就是简单工厂,因为他不属于经典设计模式的范畴,但确实是用到特别多的模式。使用场景1)工厂类负责创建的对象比较少;2)客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心;public class Factory{ ...原创 2018-08-24 12:02:22 · 2258 阅读 · 0 评论 -
跟着项目学设计模式(一):初识单例模式
跟着项目学设计模式(一):初识单例模式跟着项目学设计模式(二):简单工厂跟着项目学设计模式(三):工厂模式跟着项目学设计模式(四):抽象工厂模式跟着项目学设计模式(五):简单工厂+单例模式+静态类+延迟加载TBD 本文会以一个服务开发人员的视角,和您一起跟着项目学设计模式。而在项目开始之前,我们的服务开发人员并不是对设计模式一无所知...原创 2018-08-23 17:46:40 · 3565 阅读 · 0 评论