随笔分类 - 设计模式
摘要:代理模式(Proxy Pattern)是一个使用率非常高的模式,其定义如下:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有1.抽象角色:声明真实对象和代理对象的共同接口2.代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装3.真实角色:代理角色所代表的真实对象,是我们最终要引用的对象代理模式的优点1
阅读全文
摘要:策略模式中体现了两个非常基本的面向对象设计的原则:1.封装变化的概念。2.编程中使用接口,而不是对接口的实现。策略模式的定义:定义一组算法,将每个算法都封装起来,并使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。策略模式的意义:策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是弱连接的关系。弱连接的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性。策略模式的组成1.抽象策略角色:策略类,通常由一个接口或者抽象类实现。2.具体策略角色:包装了相关的算法和行为。3.环境角色:持有一个策略类的引用,最终给客户端调
阅读全文
摘要:简单介绍一下我对Singleton的理解,说的不好请大家多多指点。单例模式的简单定义就是确保一个类只有一个实例,并提供一个全局访问点。单例模式有哪些用处呢?有一些对象其实我们只需要一个,比方说:线程池,缓存,对话框,处理偏好设置和注册表的对象,日志对象,充当打印机,显卡等设备的驱动程序的对象。事实上,这类对像只能有一个实例,如果制造出多个实例,就会导致许多问题产生,例如:程序的行为异常,资源使用过量,或者是不一致的结果。class Singleton{ private static Singleton singleton; private Singleton() { } public ...
阅读全文

浙公网安备 33010602011771号