![](https://img-blog.csdnimg.cn/59f7f9dcb0f246aa86b38dc92dbf4011.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式和软件架构
常见的设计模式以及软件架构
FishAnd_Yu
他说要 仗剑走天涯
展开
-
设计模式之:从Context看 装饰模式
装饰模式:1:动态的给一个对象添加额外的功能。使其这个对象剧本更丰富功能,某种意义上说,装饰模式比子类继承的方式更灵活。# Component.javapublic abstract class Component { public abstract void operate();}# ConcreteComponentpublic class ConcreteComponent extends Component { @override public原创 2022-03-03 14:48:38 · 441 阅读 · 0 评论 -
设计模式之:从ListView看 适配器模式
适配器模式1:把一个类的接口变换成客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。2:我们在 Android 开发时也经常会用到 装饰模式,比较典型的有 ListView和 RecyclerView。 ListView 和 RecyclerView 在设计之初只关心 ItemView ,而不关心 ItemView具体显示什么内容,那么每个 ItemView具体显示的内容就保存在 数据源 Adapter中,ListView和 数据源 Adapter没有任何关原创 2022-03-03 13:36:39 · 317 阅读 · 0 评论 -
设计模式之:从message消息机制看 享元模式
享元模式:1:使用享元对象可以有效的支持大量的细粒度对象。2:享元模式在我们平时接触很多,比如Java 中的常量池,线程池。这些都是为了重用对象3:那么在Android 中,哪里使用到了 享元模式了? 线程通信中的 Mesage,每次我们获取Message时调用 :Message.obtain() 其实就是从消息池中取出可重复使用的消息 message,这样可以避免产生大量的Message 对象 /** * Return a new Message instance fro原创 2022-03-03 13:26:05 · 427 阅读 · 0 评论 -
设计模式之:观察者模式应用(ListVew使用的观察者模式)
Android源码中的模式实现在以前,我们最常用到的控件就是ListView了,而ListView最重要的一个点就是Adapter,在我们往ListView添加数据后,我们都会调用一个方法: notifyDataSetChanged(), 这个方法就是用到了我们所说的观察者模式。...原创 2022-02-26 15:58:24 · 465 阅读 · 0 评论 -
设计模式之:观察者模式
概念:1:观察者模式又称“发布-订阅模式”,2:它用于一个被观察者(Observable)持有多个观察者对象(Observer)的引用,当被观察者状态发生改变时,通知所有观察者进行更新。是一种一对多的依赖关系。3: Observable关联观察者Observer ----->通过 Observable.registerObserver(new Onserver)4: 被观察者(Observable) 状态改变,发布消息(publish subject)给观察者(Observer)..原创 2022-02-26 15:07:51 · 360 阅读 · 0 评论 -
设计模式之:策略模式应用(Android动画实现)
Android策略设计模式进阶 - 知乎原创 2022-02-25 16:18:18 · 539 阅读 · 0 评论 -
设计模式之:责任链模式应用(ViewGroup事件传递)
还记得 Android的事件分发机制码 ? 主要的三个方法 dispatchTouchEventonInterceptTouchEvent onTouchEvent1: dispatchTouchEvent 这个方法主要时用来分发事件的2:onInterceptTouchEvent 这个方法主要时用来拦截事件的(只有ViewGroup才具备,View不具备)3:onTouchEvent 这个方法主要是用来处理消耗事件的。4: requestDisallowInterceptTou...原创 2022-02-25 14:26:57 · 421 阅读 · 0 评论 -
设计模式之:责任链模式应用(Okhttp拦截器)
在 使用OkHttp之前,我们可能用到更多的网络请求框架是 AsyncHttp , 或者直接使用Android 自带的 HttpUrlConnection 和 HttpClient 然后对其简单的封装,Okhttp开源之后,现在大部分项目均支持了 。private final OkHttpClient client = new OkHttpClient(); public void run() throws Exception { // 创建Request Request requ原创 2022-02-25 10:01:19 · 1449 阅读 · 0 评论 -
设计模式之:单例模式
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,使用单例模式的类只有一个对象实例。原创 2022-02-24 16:50:05 · 110 阅读 · 0 评论 -
设计模式之:责任链模式
顾名思义,责任链就是将多个处理单元串成链路,是一种行为模式。1:需要顶一个抽象类或者接口,此抽象类定义一个处理业务功能函数2:定义一个此抽象类变量,比如通过next函数来链接下一个 需要处理业务对象,以此链接3:定义具体处理业务对象并继承抽象类4:按照需求从某个初始化的业务对象开始,以此递归,直到所有责任对象业务处理完毕下面我们以登录作为例子,来具体说说责任链模式应用。登录过程一般经历下面几个流程:用户判断----账号密码判断----验证码校验# Handlerpu原创 2022-02-24 16:19:06 · 391 阅读 · 0 评论 -
网络请求框架:OkHttp:框架解析
> 网络框架 OkHttpInterceptor 是OkHttp最核心的一个东西,不要误以为它只负责拦截请求进行一些额外的处理(例如 cookie),实际上它把实际的网络请求、缓存、透明压缩等功能都统一了起来,每一个功能都只是一个 Interceptor,它们再连接成一个 Interceptor.Chain,环环相扣,最终圆满完成一次网络请求。责任链拦截器Interceptor:RetryAndFollowUpInterceptor:负责失败重试以及重定向;BridgeIntercepto...原创 2022-01-24 16:55:05 · 966 阅读 · 0 评论 -
设计模式系列
Android 设计模式_xd0123456789的博客-CSDN博客https://blog.csdn.net/xd0123456789/article/details/108195483原创 2022-02-22 16:10:02 · 229 阅读 · 0 评论