上一页 1 2 3 4 5 6 7 8 ··· 13 下一页

2018年6月16日

【12】外观模式(Facade Pattern)

摘要: 一、引言 在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化。然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作“门面”模式。下面就具体介绍下外观模式。 二、外观模式的详细介绍 2.1 定义 外观模式提供了一个统一 阅读全文

posted @ 2018-06-16 19:50 SuperSnowYao 阅读(264) 评论(0) 推荐(0) 编辑

2018年6月14日

AutoMapper在项目中的应用

摘要: 一、先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已。 为什么要用DTO? 1、DTO更注重数据,对领域对象进行合理封装,从而不会将领域对象的行为过分暴露给表现层。 2、DTO是面向UI的需求而设计的, 阅读全文

posted @ 2018-06-14 20:00 SuperSnowYao 阅读(388) 评论(0) 推荐(0) 编辑

为什么要用lock 【readonly】object?为什么不要lock(this)?

摘要: 一. 为什么要用lock,lock了什么? 当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了。也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时 阅读全文

posted @ 2018-06-14 14:56 SuperSnowYao 阅读(2491) 评论(0) 推荐(1) 编辑

2018年6月13日

【11】组合模式

摘要: 一、引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况。例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的。由于简单对象和复合对象在功能上区别,导致在操作过程中必须区分简单对象和复合对象,这样就会导致客户调用带来不必要的 阅读全文

posted @ 2018-06-13 18:37 SuperSnowYao 阅读(180) 评论(0) 推荐(0) 编辑

2018年6月12日

【10-2】复杂业务状态的处理(从状态者模式到FSM)

摘要: 一、概述 我们平常在开发业务模块时,经常会遇到比较复杂的状态转换。比如说用户可能有新注册、实名认证中、已实名认证、禁用等状态,支付可能有等待支付、支付中、已支付等状态。OA系统里的状态处理就更多了。 遇到这些处理,很多人可能不假思索的就用最直观的 if/else 或者 switch 来判断状态的方式 阅读全文

posted @ 2018-06-12 16:12 SuperSnowYao 阅读(1299) 评论(0) 推荐(0) 编辑

2018年6月10日

【10-1】状态者模式

摘要: 一、状态者模式的介绍 每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状态时,那么就会对应很多的行为。那么对这些状态的判断和根据状态完成的行为,就会导致多重条件语句,并且如果添加一种新的状态时,需要更改之前现有的代码。这样的设计显然违背了开闭原则。状态模式正是用来解决这样 阅读全文

posted @ 2018-06-10 17:12 SuperSnowYao 阅读(188) 评论(0) 推荐(0) 编辑

【9】装饰者模式

摘要: 一、引言 在软件开发中,我们经常想要对一类对象添加不同的功能。例如:要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类)、AccessoriesPhone(挂件手机类)等,这样就会导致 ”子类爆炸“问题。为了解决这个问题, 阅读全文

posted @ 2018-06-10 15:52 SuperSnowYao 阅读(161) 评论(0) 推荐(0) 编辑

【8】桥接者模式

摘要: 一、引言 这里以电视遥控器的一个例子来引出桥接模式解决的问题。首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类,具体设计类图如下: 这样的实现使得每部不同型号的电视都有自己遥控器实现 阅读全文

posted @ 2018-06-10 14:34 SuperSnowYao 阅读(296) 评论(0) 推荐(0) 编辑

【7】适配器模式

摘要: 一、引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式——使得新环境中不需要去重复实现已经存在了的实现 阅读全文

posted @ 2018-06-10 11:35 SuperSnowYao 阅读(156) 评论(0) 推荐(0) 编辑

2018年6月9日

【6】原型模式

摘要: 一、引言 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间。因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加,导 阅读全文

posted @ 2018-06-09 17:12 SuperSnowYao 阅读(212) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 13 下一页

导航