Android应用程序扩展的附加功能

ann*_*nna 5 android extend

Android有一个核心ERP移动应用程序.客户要求其他功能需要更多屏幕(和Activities)和额外功能.

有没有办法可以为核心移动应用程序添加一些扩展,以便集成额外的功能,还是应该在核心应用程序的代码之上进行编码?

我有兴趣找到一个专注于可扩展性的简洁解决方案,因为不同的客户可能会要求不同的附加功能.你会如何处理这样的问题?关于这样一个项目结构的任何提示也会受到欢迎.

如果额外的功能需要使用与核心应用程序相同的数据库,它会有所不同吗?

预先感谢您的帮助.

Aru*_*rge 2

你的问题的答案在于 Bertrand Meyer 提出的开放/封闭原则。开闭原则是一个非常简单的面向对象设计原则,它指出:

软件实体(类、模块、函数等)应该对扩展开放,但对修改关闭”

从您的问题可以清楚地看出您已经确定了应用程序中的核心功能。因此,我建议您不要修改此核心功能并使其更加具体,而是基于开放/封闭原则,您应该冻结代码功能并在其上编写客户特定的功能,而不会损坏核心。

现在回答您关于您可以遵循哪种结构的问题。我建议您创建一个核心功能的库项目,并制作不同的客户特定项目,其中将包含您的核心功能作为库项目。

如果您的应用程序使用与核心应用程序相同的数据库(前提是您的所有应用程序都使用它),那么它不会产生任何影响,否则它首先就不应该出现在您的核心应用程序中。

希望这个解释对您有所帮助。

更新:

我的朋友指出我可能没有理解这个问题。因此,我不是纠正我的旧帖子(...这可能对其他人有用),而是更新它。

因此,如果我理解正确的话,您可能有一个 ERP 项目,但您可能尚未编码。在我看来,正确的方法仍然是在现有代码的基础上进行构建。不要对此项目进行更改,而是将其作为库包含在内,因为如果该项目是从可靠的来源下载的,那么您将可以在更新版本可用时获得该版本。