编码和建筑及其类似,是一门系统工程学,同时,也是一门艺术,具有良好的层次设计,能够使架构具有良好的扩展性、维护性、健壮性,尤其在人数众多的团队项目中。
如同图中上面部分,维持整体架构的健壮,需要将每个模块和层次设计的菱角分明,模块间的交互或者耦合有明确的定义,且能够具有横向扩展的能力。
分层设计的好处是你能够提供清晰的功能层,但是,往往如何在功能层里面做扩展是一件很难的事情,见过很多代码,在开始的时候,层次清晰,随着迭代的开发,导致单一层次变得臃肿和复杂。典型的,就是形成一个非常复杂的通用功能类。
面对上述情况,理想的是,将功能层进行横向的业务切换,按照业务范围分为:独立业务和公共业务。这样,在单一层次就能够具有足够的扩展空间。通过命名也可以看出来,通用性很强的命名,可以根据具体的功能,重命名为 业务+功能 的方式,实现横向的扩展。
QQ:287919932