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

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

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

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

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

预先感谢您的帮助.

最佳答案
您的问题的答案在于Bertrand Meyer介绍的开放/封闭原则. Open/Closed Principle一个非常简单的面向对象设计原则,其中指出了这一点

Software entities (classes,modules,functions,etc.) should be open for extension,but closed for modification”

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

现在回答你关于你可能遵循什么样的结构的问题.我建议您创建一个核心功能的库项目,并制作不同的客户特定项目,其中包括您的核心功能作为库项目.

如果您的应用程序使用与您的核心应用程序相同的数据库(只要您的所有应用程序都使用它),那么它就不会有所作为,否则它首先不应该在您的核心应用程序中.

希望这个解释能帮到你.

更新:

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

因此,如果我理解正确,您就有一个您可能没有编码的ERP项目.根据我的说法,正确的方法仍然是你构建现有的代码.不要对此项目进行更改,而是将其作为库包含,因为如果从可靠的源下载项目,您将获得更新版本的好处,以及何时可用.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...