白话框架与设计
文章平均质量分 92
江湖人称小白哥
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事
展开
-
OOD设计原则之OCP、LSP
一直谈软件设计,却不能准确的描述。结合最近看《黑客与画家》,这才对设计的六大原则有了一点浅显的体会。首先说一下一个项目的路径:开发、重构、测试、投产、运维。其中重构的好处就是希望对原有设计和代码进行修改(注意:重构的应该分两个方向:设计上的修改和代码上的修改),而运维则是希望尽量减少对原有代码的修改,保持历史代码的纯净,提高系统稳定性。原则一:开闭原则(OCP) 软件应该保持对扩展开放,对原创 2014-12-08 13:17:47 · 1551 阅读 · 0 评论 -
Android 开发:由模块化到组件化(一)
当你看到这的时候,想必心理一阵恶寒:模块化?组件化?到底是什么鬼?有啥区别.有这种感觉才是对的,模块化和组件化本质思想是一样的,都是"大化小",两者的目的都是为了重用和解耦,只是叫法不一样.如果非要说区别,那么可以认为模块化粒度更小,更侧重于重用,而组件化粒度稍大于模块,更侧重于业务解耦.原创 2016-12-15 01:43:15 · 61147 阅读 · 47 评论 -
来自Unix/Linux的编程启示录
写本文的最初灵感源于16年11月份我将工作环境切换到Mac OS上,其中一些使用"差异"让我开始对Unix/Linux中设计产生了浓厚的兴趣.虽然从13年开始使用redhat,再到后来一直使用的ubuntu,但却从来关注过这些,特此记录.原创 2017-02-08 04:46:00 · 7728 阅读 · 13 评论 -
打造RxJava生命周期管理框架RxLife
在前边RxJava实战技巧大全一文中,我们介绍了RxJava使用过程中常见的应用场景和可能遇到的问题,其中我们谈到利用RxLifeCycle来管理RxJava的生命周期,避免内存泄漏问题,今天自己动手打生命周期管理框RxLife来加深对RxJava的认识。原创 2016-11-04 01:30:22 · 14883 阅读 · 3 评论 -
深入了解LOD
在从类关系说起一文中,我们谈到了几种类与类之间的关系,在此来深入一下对象与对象之间的通信问题.为什么要深入对象与对象之间的通信呢,其根本在于,系统中不会存在唯一的对象,不同的对象势必要相互进行交流.原创 2016-05-22 16:31:33 · 10622 阅读 · 1 评论 -
教你写响应式框架(二)
还要做什么?在教你写响应式框架(一)中我们介绍了观察者模式,现在我们将基于上一篇中的代码进行改造。当然,我们是有目的的改造: 在响应式框架中,观察者是可能随时产生,种类多,生命周期却短暂. 我们希望操作是异步的,并且只有在观察者被注册到被观察者上时,被观察者才生效. 在开始改造之前,为了避免没看过上一篇的童鞋产生断裂感,我仍然先贴一下观察者的实现,为了从能够”望文生义”,其中有一原创 2016-03-13 23:57:49 · 5190 阅读 · 6 评论 -
教你写响应式框架(三)
在教你写响应式框架(二)中,我们对原始代码进行了初步的改造,如果没看过上篇的可以先看一下.那么在今天我们仍然是在原有项目的基础上进行改造.原创 2016-03-15 20:58:23 · 3739 阅读 · 5 评论 -
教你写响应式框架(四)
自己动手开发响应式框架ErJava原创 2016-03-17 19:42:33 · 2890 阅读 · 6 评论 -
教你写响应式框架(一)
在真正开始编写自己的响应式框架之前,我们先来从观察者模式说起。已经对观察者模式很熟悉的可以直接掠过。基本概念观察者模式属于对象行为模式之一,也可叫做发布——订阅模式。它定义了一种以对多的依赖关系,让多个观察者(订阅者)同时观察(监听)一个被观察者(主题),当被观察者的状态发生变化时,会通知所有的观察者对象。原创 2016-03-13 12:24:38 · 12953 阅读 · 4 评论 -
从类关系说起
温故知新,最近更多的是研究和开发各种类库,对设计的是有些感触.以前在大学的时候,虽然知道,但是总归是欠缺经验的,现在,我尝试用最通俗易懂的方式说出来.所谓的设计不正是采用恰当的方式组织雷类关系么?因此谈设计我认为首先要从类之间的关系开始说起.原创 2016-05-07 19:43:45 · 4265 阅读 · 3 评论 -
浅谈DIP和IOC
追本溯源,不断的回顾基础对我而言是种不错的方式,每次重新回顾这些点往往收获很大.以前,受个人所限,觉得这些理论毫指导价值价值,过于相信实践的的力量,导致自己进步缓慢.其实有些时候,实践更需要站在理论巨人的肩膀,这会让我们少走很多的弯路.原创 2016-05-04 11:10:04 · 5153 阅读 · 2 评论 -
浅淡ISP
接口做作为面向抽象编程中的一环,有无可替代的地位。那么,什么样的接口设计才算是好的设计,或者说如何设计一个好的接口?就接口的设计而言,我认为”接口隔离(简称ISP)”原则已经足够.原创 2016-05-17 00:20:14 · 3816 阅读 · 1 评论 -
打造急速开发框架FastApp
在前面的文章中,我们介绍了开发过程容易出现的一些问题,今天我们就在此基础上打造自己急速开发框架(FastApp)。该框架旨在向你展示一个轻量级的应用的总体结构以及如何构建多Fragment应用,为了使他对所有的开发者都比较友好,我们返本溯源,抛弃“臃肿”的MVP及MVVM模式,而是继续沿用MVC的设计理念。原创 2016-10-13 20:29:57 · 8924 阅读 · 8 评论