gpt4 book ai didi

java - 什么时候以及为什么我们需要将一个类(class)分成许多类(class)?

转载 作者:行者123 更新时间:2023-11-30 03:33:04 26 4
gpt4 key购买 nike

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

现在我将一些用于初始化 UI 组件的方法拆分到另一个类中。在这一点上,我正在努力思考/寻找一个很好的理由将我的类(class)分成几个类(class)。

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

缺点:降低运行时性能

我不确定是否遗漏了任何优势或劣势?

另外,找到overlap的方法我就分一个类我不确定还有一种情况必须分类。

最佳答案

首先,如果您从未研究过 refactoring ,那么我会强烈鼓励您这样做。 Martin Fowler 有一些优秀的资源可以帮助您入门。但是,我有点超前了。

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

如果您注意到一个方法,更不用说一个,正在做不止一件事,那么这是停止和重构的好时机 - 也就是说,获取您拥有的代码,并对其应用特定的、集中的重构以提高可读性和流程,同时保持相同的功能。您实际上是在寻找 code smells - 可疑的代码部分,不遵循特定的契约(Contract)或方法,或者是合法的 anti-patterns - 它们本身就是开发人员努力避免的做法。

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

关于java - 什么时候以及为什么我们需要将一个类(class)分成许多类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com