我是一名Android初学者开发者。目前,我正在开发一个应用程序。但是,我的类很大,因为有很多UI组件(处理onClick,onProgressBarChanged等)。 我的大多数组件都是动态的。所以,我有创建这些组件的方法。
现在我将一些用于初始化UI组件的方法拆分为另一个类。 在这一点上,我正在努力思考/寻找将我的班级分成几个班级的充分理由。
优点:可维护性,可测试性,可重用性
缺点:降低运行时性能
我不确定我错过了哪些优点或缺点?
此外,当我找到重叠方法时,我会划分一个类 我不确定是否还有其他情况需要分类。
答案 0 :(得分:3)
首先,如果你从未调查过refactoring,那么我会强烈鼓励你这样做。 Martin Fowler拥有一些优秀的资源可以帮助您入门。但是,我略微领先于自己。
首先,您要拆分课程以保持明确的职责划分。你可以在这里想到SOLID原则 - 每个班级做一件事,一件事做得很清楚。
如果您注意到方法,更不用说类,不仅仅是做一件事,那么这是停止和重构的好时机 - 也就是说,获取您拥有的代码,并对其应用特定的,专注的重构,以提高可读性和流程,同时保持相同的功能。您实际上在寻找code smells - 可疑的部分代码,不遵循特定的合同或方法,或者是合法的anti-patterns - 这些是开发人员努力的实践避免
处理UI(尤其是Java)的程序往往非常冗长。您应该避免做的是在UI层中放置任何条件业务逻辑,以便于分离,测试和清晰。利用Model-View-Controller模式来理解和抽象出UI(视图)之间必要的分离,以及需要完成的实际工作(控制器),同时保持一些相似的状态(模型)。
答案 1 :(得分:-2)
我们在Android(核心Java)应用程序开发中使用OOPs Concept。如果我们在许多类中拆分我们的一个类,它会在开发期间提供良好的可维护性,可重用性,安全性和编码中的轻松更改。 例如: - 用于数据库处理的Util类,用于Internet连接的网络类,用于不同类型对话框的Dialog类等等... 通过这种方式,我们可以对编码进行分类并随时更改或重新使用。因此,在开发过程中遵循OOPS概念是一种好习惯。
由于