首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
村口老王
创建于2022-01-14
订阅专栏
无
等 1 人订阅
共12篇文章
创建于2022-01-14
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
设计模式(一)单例模式及WMS中的单例
内存中只有一个实例,可减少内存使用,尤其是需要频繁创建、销毁对象的场景,单例模式比较有优势。 避免对资源的多重占用,比如读配置、写文件等操作,只有一个对象去操作资源,避免了多个内存对象对资源的同时操作。 单例可设置全局的访问点,共享资源访问。 单例模式跟单一职责原则冲突,单例会…
设计模式(二)AlertDialog中的建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 例:电脑含有很多零配件,可以算是一个复杂对象。其中内存卡,主板、CPU等都是电脑的组成部分,如果构建一台电脑,不需要知道是如何组装的,只需要提供所需要的零配件型号,此时就可以用构建者模式。 起到封装的作…
设计模式(三)工厂模式
工厂模式分为工厂方法模式和抽象工厂模式两类 一、工厂方法模式 1、定义 为创建一组相关的对象提供一个接口,无需制定他们的具体类 2、类图 抽象工厂: 定义接口,提供创建产品的方法 具体工厂:实现具体的
设计模式(四)Animation中的策略模式
定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变换。 避免多种处理方式存在的if else语句。方便拓展,多一种处理方式,就多加一个实现类 算法过多会造成多个算法实现类。Context需要了解所有的算法,并做出相应的…
设计模式(五)OkHttp的责任链模式
多个对象都有机会处理请求,将这些对象连成一个链,将请求沿着这条链传递,直到有对象处理为止。 纯的责任链模式是如果被处理者进行处理了,则请求传递结束。OkHttp的拦截器是不纯的责任链模式,在请求到达时,拦截器会做一些处理(比如添加参数等),然后传递给下一个拦截器进行处理。 创建…
设计模式(六)RecyclerView中的观察者模式
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都能得到通知并被自动更新。 例如:天气预报服务,一旦你订阅该服务,,每天一旦有天气信息更新,它就会及时向你发送最新的天气信息。 Subject:抽象被观察者,会将所有观察者对象保存到一个集合中,提供…
设计模式(七) 模板方法模式
在父类中定义算法的框架(方法),将部分实现延迟到子类中,让子类可以重新定义算法中的某些步骤(复写某些方法)。 AbstractClass表示抽象模块,内部方法一般分为基本方法和模板方法两种。基本方法在父类中无具体实现(抽象方法),需要在子类进行相关实现。模块方法是定义在父类中,…
设计模式(八) 中介者模式及MVVM
一、基本概念: 1、定义 用一个中介对象封装一系列的对象交互,中介者使各对象不需要直接相关作用,从而使其松耦合,中介对象可以独立的改变他们之间的交互 2、类图 Mediator:抽象中介者,定义接口和
设计模式(九)Android中的代理模式
扩展目标对象的功能:例如演员(目标对象),有演戏的功能,找一个经纪人(代理),会额外提供收费的功能,实际上是代理的功能,而不是演员的功能。 限制目标对象的功能:例如经纪人对收费不满意,只让演员演一场戏,对演员的功能进行了部分限制。 编译时期就已经存在,一般首先需要定义接口,而被…
设计模式(十)适配器模式
一、适配器的基本概念 1、定义 将一个接口转换为另一个客户期望的接口。 2、应用场景 你想使用一个已经存在的类,而它的接口不符合你的需求。类似于一个转接口,将电源线的接口转成你电脑可用的接口。 3、类
设计模式(十一)Context中的装饰者模式
动态地给一个对象添加一些额外的职责。装饰模式比子类就增加功能来说更为灵活。 需要扩展一个类的功能。 动态的为一个对象增加功能,而且还能动态撤销。 Component:抽象类或者接口,这是装饰者和被装饰者都需要实现的接口或者继承的基类。 Decorate:装饰者角色,一般是一个抽…
设计模式复习总结
快过年了,再回顾下设计模式整理下笔记吧 一、设计模式分类(共23种) 创建型模式:为了更灵活的创建对象,提升已有代码的灵活性和可复用性。 结构型模式:将对象和类组装成较大的结构,并同时保持结构的灵活和