[架构及模式]
文章平均质量分 75
手艺人王学明
岁月本长,而忙者自促,天地本宽,而鄙者自隘
展开
-
仔细想了下模块划分,其实也不简单-量化
场景:兄弟们,我们今天开几个,我们要开个会,聊一聊研发的依赖问题。聊一聊,沟通。开会就要花时间,时间成本。一个App就是一堆git仓库+一堆逻辑的组合,就构成了完整的业务逻辑。衡量模块划分的标准其实就是**“沟通量”**。换个词语:职责划分、代码边界。常用的划分是功能划分通过引入各种仓库,给我们的研发带来了边界api 'jp.wasabeef:glide-transformations:4.0.1'api "com.github.bumptech.glide:glide:${glide_v.原创 2021-04-02 17:22:44 · 377 阅读 · 0 评论 -
动态代理模式
前言本文将带着几个问题来看到底“动态代理”动态在哪里?InvocationHandler为什么没有任何实现?对于传入的newProxyInstance()的接口类型,是否有限制?如何确认某个类 是不是代理类?动态代理的实现编写你要代理的interfacepublic interface Animal { void say(); void jump();}...原创 2019-09-17 17:18:58 · 213 阅读 · 0 评论 -
简述 高效Android框架
项目大、杂、乱怎么办?重构!不管你的项目现在是什么样子,模块化之后会是这样的结构。 图1如图所示,1. 根据业务规划,选择了合适的3rd Library2. 封装3rd Library,形成适合业务使用的Base Library3. 经过Framework Layout的处理,这里可以是router分发,com原创 2017-06-06 11:46:49 · 376 阅读 · 0 评论 -
简述Android高效轻量网络框架
有一种很好使的网络框架封装:基于AsyncTask。不过这个框架有个巨大的缺陷:不能立刻马上取消task。那么,在2g或者网络差的时候,进行页面切换后,就有可能造成线程池task拥堵,无法及时响应当前的task。 众观当前主流的框架:okhttp, retrofit,volley。都是轻量化设计。(三者差异就不讨论了,不是主题)都有那么点ThreadPoolExecutor+Run原创 2017-06-08 16:46:49 · 989 阅读 · 0 评论 -
设计模式【3】-对象创建型-单例模式
本文通过对单例模式的编写,结合JMM的原子性和有序性 对单例模式进行层层改进,并给出改进方案。是java/android从业者都必备的知识点原创 2017-05-11 10:23:48 · 242 阅读 · 0 评论 -
设计模式【2】-对象行为型-状态模式
一、使用背景 在开发时,一个功能需根据场景不同自主的切换二、举例状态变化三、问题对象的状态太多,选择太复杂,简化状态的判断逻辑,客户不需要知道该用什么算法四、解决方案使用状态模式-允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列原创 2017-01-11 20:23:38 · 305 阅读 · 0 评论 -
设计模式【1】-对象行为型-策略模式
一、使用背景在开发时,一个功能需根据场景选择不同的方法二、举例战士攻击三、问题算法和对象分开,使两者完全独立四、解决方案使用策略模式-策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。五、使用情景 1. 一个功能的不同类,仅仅实现方法 2. 这原创 2017-01-10 15:37:46 · 293 阅读 · 0 评论 -
浅谈android中的MVC--【1】
前言:回忆下MVC这是维基百科的解释Link:https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller稍作修改。应该是这样的一直以为android是很好的支持了MVC。我一直都觉得这很怪。到底算不算MVC呢?答案是肯定的。。。先看下android项目的文件目录结构原创 2016-09-08 13:54:34 · 833 阅读 · 0 评论 -
Data Binding(数据绑定)用户指南
这篇文章讲解了DataBinding。我从一个入门者的角度写了一个Demo。将槽点黑点都写在了Activities的注释种。不阅读全文也能知道个大概。转载 2016-10-09 10:18:03 · 751 阅读 · 0 评论 -
浅谈MVP模式
背景分析在MVC模式下,大量的Controller与View交互,Controller和Model承接的部分都在Activity中,这样,在复杂UI的情况下,就会造成Activity有大量的逻辑代码。造成了Activity臃肿。所以,MVP框架就引起了关注。MVP框架图包括 两种模式PV模式和SC模式PV模式的特点:----- 这种模式使用比较广泛原创 2016-09-18 16:11:10 · 3392 阅读 · 1 评论 -
MVP模式下的生命周期
背景在MVP模式下,P是核心控制,Activity被削弱成了View。因为Activity的生命周期应该有Presenter的介入。何时介入一、Activity的生命周期Activity在onCreate, onPause, onResume, onRestart, onStart, onStop, onDestory, onSaveInstanceState(原创 2016-09-19 10:36:36 · 1994 阅读 · 0 评论 -
App工程结构搭建:几种常见Android代码架构分析
关于Android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的。从艺术的角度看,其实我们是在追求一种美。本文先分析几个当今比较流行的android软件包,最后我们汲取其中觉得优秀的部分,搭建我们自己的通用android工程模板。1. 微盘微盘的架构比较简单,我把最基本,最主干的画了出来:转载 2016-09-01 10:57:06 · 706 阅读 · 0 评论 -
浅谈android中的MVC--【2】
Android中的MVCView层Controller层Model层原创 2016-09-09 11:15:29 · 653 阅读 · 0 评论