23 引入引數物件

2022-07-04 16:00:18 字數 1112 閱讀 1706

資料參考:

概念:本文中的「引入引數物件」是指當乙個方法的引數過多或者過為複雜時,可以考慮把這些引數封裝成乙個單獨的類。

正文:如果乙個方法所需要的引數大於5個,理解該方法的簽名就變得比較困難,因為這樣感覺引數很長、樣式不好並且沒有分類,所以我們有必要把引數進行封裝。

1

/**2

* 註冊類3*/

4class

registration

16 }

1

/**2

* 學生類3*/

4class

student

1

/**2

* 課程類3*/

4class

course

通常這種情形下建立乙個使用者傳遞引數的類是很有幫助的,這會使得**更容易明白也更靈活,因為當你需要增加引數時,只需要給引數類新增乙個屬性即可。請注意只有當你發現方法的引數比較多時才應該應用該重構,如果方法的引數比較少,就沒有必要應用此重構,因為該重構會增加系統中類的數量,同時也會加大維護負擔。所以要看引數情況而定。

重構後的**如下(android studio 中可用introduce parameter object來進行重構):

1

/**2

* 註冊類3*/

4class

registration

13 }

1

/**2

* 註冊上下文類3*/

4public

class

registrationcontext

2223

public

double

getamount()

2627

public

student getstudent()

3031

public listgetcourses()

3435

public

double

getcredits()

38 }

31 天重構學習筆記23 引入引數物件

摘要 由於最近在做重構的專案,所以對重構又重新進行了一遍學習和整理,對31天重構最早接觸是在2009年10月份,由於當時沒有 訂閱 sean chambers的blog,所以是在國外的社群上閒逛的時候鏈結過去的。記得當時一口氣看完了整個系列並沒有多少感覺,因為這些基本上專案都 在使用,只是我們沒有專...

九 引入datatables外掛程式

在ace中,我們引入datatables外掛程式,這是一款展示 並通過js來實現個包括展示 分頁 排序等各種 功能的外掛程式,而且是高度可定製化的一款外掛程式。官方 為 當然,在我們的ace模板中也有包含,並加入了ace的css元素。1.修改index.html頁面,在其中增加block元素,用於存...

Spring 學習 (一)引入

spring 介紹 spring是什麼?spring是乙個解決了許多在j2ee開發中常見的問題的強大框架。為什麼要用spring?spring能幹嘛?在實際web開發中,首先基於mvc這種設計思想進行開發,其次還要按照其功能將程式分為三種 資料的展示,業務邏輯的處理,資料訪問 個人覺得這樣分主要是為...