上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页
摘要: 摘自:http://blog.csdn.net/lovelion/article/details/8228132远程代理 远程代理(Remote Proxy)是 一种常用的代理模式,它使得客户端程序可以访问在远程主机上的对象,远程主机可能具有更好的计算性能与处理速度,可以快速响应并处理客户端的请求。远程代 理可以将网络的细节隐藏起来,使得客户端不必考虑网络的存在。客户端完全可以认为被代理的远程业务对象是在本地而不是在远程,而远程代理对象承担了大部分 的网络通信工作,并负责对远程业务方法的调用。 远程代理示意图如图15-5所 示,客户端对象不能直接访问远程主机中的业务对象,只能采取间接访问的方式 阅读全文
posted @ 2013-10-30 10:23 nygfcn 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 摘自:http://blog.csdn.net/lovelion/article/details/8228042实例说明: 某软件公司承接了某信息咨询公司的收费商务信息查询系统的开发任务,该系统的基本需求如下: (1) 在进行商务信息查询之前用户需要通过身份验证,只有合法用户才能够使用该查询系统; (2) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。 该软件公司开发人员已完成了商务信息查询模块的开发任务,现希望能够以一种松耦合的方式向原有系统增加身份验证和日志记录功能,客户端代码可以无区别地对 待原始的商务信息查询模块和增加新功能之后的商务信息查询模块,而且可能在将 阅读全文
posted @ 2013-10-30 10:12 nygfcn 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 想清下数据库中的脏数据,A表存放属性,B表存放位置,但是上传的位置如果是从地图上取位置,但是地图没有做居中操作的话,位置坐标在原点取值,属于错误数据,查查发现delete只能对某张表中的数据进行删除,所以分两步:1、删除A表中的问题属性数据:delete from A where ID in (select ID from B where charindex('121',Lon) = 0 and charindex('31',Lat)=0 )//把varchar转成float查找某个经纬度范围内的数据delete from A where ID in (sele 阅读全文
posted @ 2013-10-29 18:32 nygfcn 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 摘自:http://blog.csdn.net/lovelion/article/details/8227953代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问代理模式核心是代理类,为了让客户端能够一致性地对待真实对象和代理对象,在代理模式中引入了抽象层,代理模式结构如图15-2所示:代理模式包含如下三个角色: (1) Subject(抽象主题角色):它声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题,客户端通常需要针对抽象主题角色进行编程。 (2) Proxy(代理主题角色):它 包含了对真实主题的引用,从而可以在任何时候操作 阅读全文
posted @ 2013-10-29 18:12 nygfcn 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 外观模式被用来把一组复杂的类包装在一个比较简单的封装接口中。摘自:http://www.cnblogs.com/saville/archive/2012/10/18/2730089.html以汽车为例。首先定义引擎、车轮、刹车等子系统。 class Engine { public void Start() { Console.WriteLine("Engine Start"); } } class Wheel { public void TurnOn() { ... 阅读全文
posted @ 2013-10-29 16:45 nygfcn 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 摘自:http://www.cnblogs.com/saville/archive/2013/02/18/2916301.html使用场合:如果一个应用程序使用了大量的对象,而大量的这些对象造成了很大的存储开销时可以考虑使用;还有就是对象的大多数状态可以外部状态,如果删除对象的外部状态那么可以用相对较少的共享对象取代很多组对象,可以考虑使用享元模式。享元模式运用共享技术有效地支持大量细粒度的对象。例如可以对文档处理系统创建共享池,在共享池中建立字母和代码的对应关系,这样就可以用共享池中的26个对象解决需要创建大量对象的问题。其结构图如下:Flyweight定义了享元接口,外部对象通过这个接口来 阅读全文
posted @ 2013-10-29 16:14 nygfcn 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 摘自:http://blog.163.com/hr_msn/blog/static/21549405120137288055250/一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法,接 阅读全文
posted @ 2013-10-28 15:06 nygfcn 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Component定义一个对象接口,可以给对象动态地添加职责。ConcreteComponent定义一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,无需知道Decorator的存在,至于ConcreteDecorator是具体的装饰对象,起到给Component添加职责的功能。代码:/// /// 装饰行为的抽象 /// public abstract class Component { //操作 public a... 阅读全文
posted @ 2013-10-28 14:47 nygfcn 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 组合模式的透明方式:Component中声明所有用来管理子对象的方法,包括Add Remove等,这样实现Component的所有子类都具备了Add Remove,这样做的好处是叶节点和枝节点对于外界没有区别,它们具备完全一致的行为接口,问题是leaf类本身不具备add remove 方法的功能所以实现它是没有意义的。安全方式:Component接口中不去声明add和remove方法,子类的leaf不用实现它,而是在Composite声明所有用来管理子类对象的方法,不过由于不够透明,所以树叶和树枝类将不具有相同的接口,客户端的调用需要做相应的判断,不方便。抽象类: public abst... 阅读全文
posted @ 2013-10-28 11:08 nygfcn 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 作用:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。模式中的角色:目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。需要适配的类(Adaptee):需要适配的类或适配者类。适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。UML图:代码:/// /// 定义客户端期待的接口 /// public class Target { /// /// 使用virtual修饰以便子类可以重写 //... 阅读全文
posted @ 2013-10-24 14:24 nygfcn 阅读(127) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页