美文网首页
常用的设计模式:

常用的设计模式:

作者: 周晓风 | 来源:发表于2017-03-29 18:39 被阅读9次

    一、单例模式:解决一个对象只能初始化一次,并提供全局访问的问题。一般在创建类的时候,将构造方法私有化,提供一个私有静态对象和一个公有化的获取对象的方法,在方法中判断对象是否为空,如果为空就创建并返回对象,不为空直接返回对象。

    二、工厂模式:解决要获取某一特定接口类型的数据进行操作的问题。定义一个创建对象的接口,让其子类去决定将那一个类去实例化。例如我们定义一个List类型的集合,在进行实例化时,可以由List的实现类去决定是实例化ArrayList还是LinkedList。

    三、适配器模式:解决接口不统一,导致调用繁琐的问题。将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。例如一个对象可能调用两个类里面的不同方法来实现相同的功能,那可以在该类提供一个方法封装两个类的方法。

    四、装饰模式:解决现有的类功能不足的问题。动态的给一些对象添加一些扩展功能,弥补该对象的不足,比生成子类的方式更加灵活。

    五、命令模式:解决同一函数处理不同参数请求以及请求排队等问题。将一个参数请求封装为一个Order对象,通过给Order对象实例化不同参数,实现不同的参数请求。

    六、观察者模式:解决一个对象发生改变,导致其他多个对象同时需要变更的问题。定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。一般使用Observerable,来进行监听。

    七、代理模式:解决对象的访问权限问题。有时候服务端不希望客户端直接访问系统中的对象,比如说图片加载,我们需要先判断数据在本地是否存在,不存在再进行网络加载,所以需要一个类对象调用方法进行判断后显示图片,这里这个类就是一个代理。

    相关文章

      网友评论

          本文标题:常用的设计模式:

          本文链接:https://www.haomeiwen.com/subject/audyottx.html