浅谈组件化

2022-01-28  本文已影响0人  新生代农民工No1

前面有写到组件化方案的各个差异,在本章,我来谈谈自己对组件化架构的看法。

首先组件化的最大目的就是解耦合,易扩展。首先我们需要考虑的应该是如何将模块直接解耦,如何将模块细分。模块划分的原则要基于什么,这个要结合业务去拆分。

然后我们再次基础上搭建出容易维护和扩展的架构,即遵循SOLID以下五个原则。

最后将拆分好的模块通过cocoapod 打包成库进行管理。

等等,这就结束了吗?当然还没完呢,在这里组件和组件之间的调用还是没有解耦,所以需要我们的组件化架构出场了,我们需要理清各个组件之间的依赖关系以及调用逻辑,划分层次。组件间的分层可以分为:

目前组件化的架构上主要分为 协议式Protocol Class (蘑菇街方案)以及 中间者Target Action(CTMediator)两种,在我看来前者可能适合侧重点在HTML上业务更多的团队。协议式最大的诟病就是缺乏统一的管理。而后者的优点体现在架构上容易管控,易扩展,所以更为推荐使用后者。

当然最终如何选择架构,目的都是解耦,使得项目更容易维护以及扩展新业务。很多人会上容易陷入迷茫,追求完美主义,追求理想中的解耦,在我看来组件化的解耦侧重点应该在于业务层相互直接的解耦,而不是形式上的,或者代码上的。

上一篇 下一篇

猜你喜欢

热点阅读