在开发应用程序(用于Android的移动应用程序)时,我们的团队总是努力使用最佳开发实践,如界面、分层和关注点分离。
当涉及到从我们的应用程序报告分析事件时,有时要求我们用由多个不同的应用程序“组件”存储和管理的数据发送事件。
其中一些数据不能直接在报告的组件/层或应用程序中的任何中心位置获得。
在我看来,这似乎与在应用程序开发期间所做的所有架构和设计工作相矛盾。
如何正确处理这个问题?
是我们收到的需求中的问题,还是一个分层/模块化应用程序有时需要使事情变得“全局”的共同问题?如果是这样的话,如何在仍然从开发最佳实践中获益的同时解决这个问题呢?
发布于 2014-03-31 11:05:27
分层结构的原则之一是,每个层只调用下面的层并接收回调。因此,如果报告层不提供对此数据的访问,则可以假定无法从上面的任何其他层访问数据。
我不认为添加全局是个好主意。它使体系结构不一致,并且几乎不增加(如果有的话)值。我更愿意将缺少的功能添加到报告层。在这种情况下,报告层可以调用管理数据的组件(S),并将其转发给原始调用方。
如果数据本身分布在不同的组件之间,可能会有更深层次的考虑。但是无论如何,对所有数据都有一个单一的接口将使结构变得清晰和易于维护。
https://softwareengineering.stackexchange.com/questions/234284
复制相似问题