从旧版代码到干净的架构:重建缓冲区Android 容器

263 篇文章 2 订阅
164 篇文章 0 订阅
On the Journey from Legacy Code to Clean Architecture: Rebuilding the Buffer Android Composer

容器是我们应用程序的核心 - 它使我们的用户能够制作社交媒体更新,并计划他们在社交网络在自定义时间。 它从一开始就是Buffer Android应用程序的一部分。 它已经达到了我们需要重建我们已经到位的地步。

因此,抓住一杯咖啡(或您的饮料),让我们带您通过我们从遗留代码到清洁架构的学习之旅。

☕️

Android上的Buffer的简要历史

早在2012年,我们的CEO Joel就第一次承诺Android项目库。 从那时起,它已经下载了超过50万次,它允许我们的用户撰写更新和管理他们的日程安排在移动。

1-ct5u_dejymgocdxogjlmzq

自从第一次提交应用程序已经看到许多变化。 容器本身也经历了几次迭代。 它是我们的应用程序的核心,所以功能已经添加和重新设计发生。
然而,它已经一段时间,因为它被重建 - 在那段时间,已经做了很多的变化。
无论这些变化是功能还是错误修复,它已经到了这样的地步,容器已经充斥着许多不同的职责,难以维持和延伸。 而事实上,没有一个代码有任何测试到位。 如果你以前使用过旧代码,我相信你会与你所做的任何更改分享这种不确定性的感觉。

 

1-adopfgp6qirmjfm_njze3q

所以我们开始逐位重构Composer。 几个方法后,几杯咖啡,随后一些头刮,很明显这不会是一个简单的任务。

由于composer功能与分散在整个代码中的活动和快速修补补丁紧密耦合,在保留容器的正确行为时很难分开。 通过对管道中的作曲者的计划扩展,我们知道在这个重构之后,仍然难以用编译器构建的方式扩展功能。 经过一番思考,一个电话,甚至更多的思考,我们决定得到干净和重建。

但为什么干净呢?

有很多文章解释清洁的架构,所以我这里不打算深入。 但一般的想法是,我们的项目分成层,以创建一个分离的关注。
这种分离相对于其他架构方法引入了几个优点:


对框架没有兴趣的层完全独立于它们。由于关注的分离,我们的代码变得更易于测试,因为我们可以编写更集中和细粒度的测试类对任何UI没有兴趣的层没有这些视图组件的知识层完全 独立于任何可能使用的数据库,这意味着我们有能力添加/远程数据库提供程序,如果需要,因为项目没有紧密耦合到特定的提供程序

1-hbyz0vpjusdvwpzd-z4-zw

 

这里有一些伟大的职位,在这里和这里的干净的建筑,绝对值得阅读,如果你想知道更多的话题 <img class="emoji" alt="

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值