簡體   English   中英

我們何時以及為什么需要將一個班級分為多個班級?

[英]when and why do we need to divide a class into many classes?

我是android初學者開發人員。 目前,我正在開發一個應用程序。 但是,我的班級很大,因為有許多UI組件(用於處理onClick,onProgressBarChanged等)。 我的大部分組件都是動態的。 因此,我有創建這些組件的方法。

現在,我將一些用於初始化UI組件的方法拆分為另一個類。 在這一點上,我正試圖考慮/尋找一個很好的理由將我的課程分為幾個班級。

優勢:可維護性,可測試性,可重用性

缺點:降低運行時性能

我不確定我是否錯過了任何優勢或劣勢?

此外,當我找到一個重疊方法時,我將划分一個類,但我不確定是否存在必須划分一個類的另一種情況。

首先,如果您從未研究過重構 ,那么我強烈建議您這樣做。 馬丁·福勒(Martin Fowler)有一些出色的資源可以幫助您入門。 但是,我有點領先了。

首先,您要划分班級以明確划分職責。 您可以在這里想到SOLID原理-每個類都做一件事情,一件事情做得很清楚。

如果您注意到某個方法 (更不用說一個 )做了很多事情,那么這是停止和重構的好時機-也就是說,獲取您擁有的代碼,並對其進行特定的,有針對性的重構以進行改進。可讀性和流程性,同時保持相同的功能。 您本質上是在尋找代碼的味道 -代碼的可疑部分,而不是遵循特定的合同或方法,或者是合法的反模式 -它們本身就是開發人員在努力避免的做法。

處理UI的程序(尤其是Java語言)往往非常冗長。 您應該避免在UI層中放置任何條件業務邏輯,以簡化可分離性,測試和清晰度。 利用“ 模型-視圖-控制器”模式來理解和抽象出UI(視圖)與需要完成的實際工作(控制器)之間的必要分隔,同時保持狀態的相似性(模型)。

我們在Android(core java)應用程序開發中使用OOPs Concept。 如果我們將一個班級分成多個班級,則可以很好地理解開發過程中的可維護性,可重用性,安全性和易於更改的編碼。 例如:-用於數據庫處理的Util類,用於Internet連接的網絡類,用於不同類型對話框的Dialog類,等等...這樣,我們可以對編碼進行分類並隨時更改或重新使用它。 因此,在開發過程中遵循OOPS概念是一個好習慣。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM