设计模式
文章平均质量分 70
CallmeZhe
晨曦微露,正义气奋发!
我用双手,成就妳的梦想!
展开
-
设计模式汇总,对应Android系统源码举例,保你一次看个够
1设计模式的七大原则尽量用最简单的话描述1、开闭原则(Open Closed Principle)对类的扩展是开放,对修改关闭。在程序需要扩展的时候,对于一个类,不要去修改原来的代码,而是通过继承的方式去扩展这个类。目的:降低维护风险。2、单一职责原则(Single Responsiblity Principle)每个类应该且只有一个职责。目的:提高可读性。3、里式替换原则(Liskov Substitution Princi...原创 2021-09-22 14:10:20 · 301 阅读 · 0 评论 -
设计模式之代理模式总结(一种静态,两种动态)
定义:代理(Proxy)提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。重要性:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。这里体现了我们接手某个项目时的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。小二,上图:下面列出代理的几种形式:静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实...原创 2018-03-23 08:58:26 · 212 阅读 · 0 评论 -
设计模式之观察者模式使用心得
这个模式,我这里直接根据Android开发中ListView来结合记录。我们往ListView添加数据后,都会调用Adapter的notifyDataChanged()方法,其中使用了观察者模式。当ListView的数据发生变化时,调用Adapter的notifyDataSetChanged函数,这个函数又会调用DataSetObservable的notifyChanged函数,这个函数会调用所有...原创 2018-03-21 09:52:25 · 422 阅读 · 0 评论 -
设计模式之原型模式笔记
定义 : 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。必要性类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗;通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式;一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。优点是在内存二进制流的拷贝,...原创 2018-03-19 09:52:22 · 239 阅读 · 0 评论 -
设计模式之建造者模式笔记
定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。必要性相同的方法,不同的执行顺序,产生不同的事件结果时;多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时;产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式非常合适;优点良好的封装性, 使用建造者模式可以使客户端不必知道产品内部组成的细节;建造者独立,容易扩展;在对象创...原创 2018-03-15 08:28:58 · 228 阅读 · 0 评论 -
设计模式之单例模式使用心得
说起设计模式,已经老生常谈了,我在这里,仅记录下自己的认识,同时也方便他人。定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。必要性:当需要控制一个类的实例只能有一个,而且客户只能从一个全局访问点访问它时,就可以选用单例模式,这些功能恰好是单例模式要解决的问题。作用:用来保证这个类在运行期间只会被创建一个类实例;提供了一个全局唯一访问这个类实例的访问点。作用域:Java里面实现的单例...原创 2018-03-14 08:43:04 · 237 阅读 · 0 评论 -
设计模式之适配器模式概述总结(优缺点、适用场景)
定义将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。作用进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。在适配器里实现功能,这种适配器称为智能适配器。优点复用性扩展性缺点过多的使用适配器,会让系统非常零乱,不容易整体进行把握。本质转换匹配,复用功能。使用时机想要使用一个已经存在的类,但是它的接口不符合你的需求,这种情况可以使用...原创 2018-03-27 09:52:35 · 960 阅读 · 0 评论