
《Android 源码设计模式》学习笔记
文章平均质量分 94
李斯维
这个作者很懒,什么都没留下…
展开
-
代理模式与静态代理、动态代理的实现(Proxy.newProxyInstance、InvocationHandler)
代理模式是23种设计模式中比较常用的一种,属于结构型设计模式。在 Android 领域中,有大量的库都使用了代理模式,例如 Retrofit 使用动态代理来实现 API 接口的调用,Dagger 使用代码生成和反射机制来创建依赖注入的代理对象等等。本文将带你了解代理模式,并且介绍静态代理和动态代理的实现方式。原创 2024-06-12 15:34:59 · 1368 阅读 · 2 评论 -
灵活软件之路——面向对象的六大原则
1、单一职责原则 Single Responsibility Principle, SRP的定义是:就一个类而言,应该仅有一个引起它变化的原因。简单来说,一个类中应该是一组相关性很高的数据的封装。 2、开闭原则 Open Close Principle,OCP,Java中最基础的设计原则,其定义是:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。因此,当软件需原创 2017-01-09 11:52:51 · 471 阅读 · 0 评论 -
单例模式——最常用的设计模式
单例模式是应用最广的设计模式之一,在这个模式中,单例对象的类必须保证只有一个实例存在。即不能自由构造对象的情况,就是单例模式的使用场景。确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个,例如,创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源,这时就应该考虑使用单例模式。单例模式有很多中写法,下面就列出常用的7种原创 2017-01-09 13:01:46 · 646 阅读 · 0 评论 -
Builder设计模式
Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户再不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。Builder模式有以下使用场景: - 相同的方法,不同的执行顺序,产生不同的事件结果时; - 多个部件或零件,都可以装配到一个对象中,但是长生的运行结果又不相同时; - 产品类非常复原创 2017-01-13 09:44:55 · 474 阅读 · 0 评论 -
优雅的克隆——原型模式
原型模式是一个创建型模式。原型二字表明了该模式应该由一个样板实例,用户从这个样板对象中复制出一个内部属性一致的对象,这个过程也就是俗称的克隆。被复制的实例就是原型,这个原型是可定制的。原型模式多用于创建复杂的或者构造好事的实例,因为这种情况下,复制一个已经存在的实例比重新创建一个更高效。综上总结一下,原型模式的定义就是:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。原创 2017-06-05 23:59:47 · 395 阅读 · 0 评论