1

我是一名安卓初学者开发者。目前,我正在开发一个应用程序。但是,我的类很大,因为有很多 UI 组件(处理 onClick、onProgressBarChanged 等)。我的大部分组件都是动态的。所以,我有方法来创建这些组件。

现在我将一些用于初始化 UI 组件的方法拆分为另一个类。在这一点上,我试图思考/寻找一个很好的理由将我的班级分成几个班级。

优点:可维护性、可测试性、可重用性

缺点:降低运行时性能

我不确定我错过了什么优势或劣势?

此外,当我找到重叠方法时我会划分一个类我不确定是否存在必须划分类的另一种情况。

4

2 回答 2

3

首先,如果您从未研究过重构,那么我强烈建议您这样做。Martin Fowler 有一些很好的资源可以帮助您入门。但是,我有点超前了。

首先,您拆分类以保持清晰的职责划分。你可以想到这里的SOLID原则——每个类做一件事,并且非常清楚地做一件事。

如果您注意到一个方法,更不用说一个,正在做不止一件事,那么这是停止和重构的好时机——也就是说,获取您拥有的代码,并对其应用特定的、集中的重构以改进可读性和流畅性,同时保持相同的功能。您本质上是在寻找代码异味——可疑的代码部分,不遵循特定的合同或方法,或者是合法的反模式——它们本身就是开发人员努力避免的实践。

处理 UI 的程序(尤其是在 Java 中)往往非常冗长。您应该避免在 UI 层中放置任何有条件的业务逻辑,以便于分离、测试和清晰。利用模型-视图-控制器模式来理解和抽象 UI(视图)和需要完成的实际工作(控制器)之间的必要分离,同时保持一些状态(模型)的外观。

于 2013-06-15T05:11:50.700 回答
-2

我们在 Android(核心 java)应用程序开发中使用 OOPs 概念。如果我们将一个类拆分为多个类,它会在开发过程中提供良好的可维护性、可重用性、安全性和易于更改编码的感觉。例如:- 用于数据库处理的 Util 类、用于 Internet 连接的 Network 类、用于不同类型对话框的 Dialog 类等等......这样我们就可以对我们的编码进行分类并随时更改或重新使用它。因此,在开发过程中遵循 OOPS 概念是一种很好的做法。

谢谢

于 2013-06-15T05:09:17.597 回答