美文网首页
Easy Clean architecture

Easy Clean architecture

作者: 无为3 | 来源:发表于2018-02-24 14:41 被阅读0次

    一.架构方面(android)

    参考 https://www.jianshu.com/p/3edcf85539a6

    早期的架构

    1.Android入门要求不高,所看到的大部分app都是activity 或者fragment中加入view跟业务逻辑,项目中会抽出辅助模块(网络模块,存储模块等等), 各个业务模块中用事件通知或者广播。(Android framework不会强制要求我们去遵守一些原则:单一职责,依赖倒置原则等),这样会导致整个项目耦合紧密,难以阅读的数据流传递和混乱的回调逻辑,不利于项目的维护及后期业务的发展。

    2.万能的父类
    a. 维护生命周期
    b. Intent跳转
    c. 数据获取(网络以及本地等)
    d. 线程切换
    e. 通用业务逻辑
    ......

    3.辅助的业务类
    为了减轻万能父类的压力,把一些业务逻辑抽出来做成辅助类,但随着业务的不断扩大,辅助类也臃肿,然后继续拆分,测试成本及维护成本还在继续加大。

    早期架构总结:尽量避免做大而全的类,应该投入精力去实现易于测试易于维护的低耦合的类,最好不要让业务逻辑进入纯粹的Android世界。

    简洁架构设计(Easy Clean architecture)

    268450-8d4fe38caa574189.png
    一个架构的清晰与整洁离不开下面三个原则:

    1).分层原则
    2).依赖原则
    3).抽象原则

    分层原则

    按上图可以分为四层
    1: Framework & Drivers: 对应的就是Android的框架层,这个地方应该是Android framework的具体实现,它应该包括所有Android的东西,也就是说这里的代码应该是解决Android问题的,是与平台特性相关的,是具体的实现细节,如,Activity的跳转,创建并加载Fragment,处理Intent或者开启Service等
    2:Interface Adapters: 适配层,用来担任Android框架层与业务逻辑层的桥梁,可以通过dagger2依赖注入,降低对内层和外层的耦合
    3:Use Cases:业务逻辑层,不包含Android代码,是独立性的,便于开发,维护及测试
    4:Entities:实体

    依赖原则

    依赖规则与箭头方向保持一致,也就是说外层知道内层的存在,而内层不知道外层的存在,

    微信图片_20180224140533.jpg

    相关文章

      网友评论

          本文标题:Easy Clean architecture

          本文链接:https://www.haomeiwen.com/subject/ujhjtftx.html