代碼壞的味道17:狎昵關係 (Inappropriate Intimacy)

來源:互聯網
上載者:User

  有時候你會看到2個類過於親密,花費太多時間起探究彼此的private成分。你可以採用Move Method (搬移函數)和 Move Field (搬移欄位)幫他們劃清界限。你也可以看看是否可以運用 Change Bidirectional Association to Unidirectional (將雙向關聯改為單向關聯)讓其中一個類對另一個斬斷情絲。如果2個類實在是情投意合,可以運用 Extract Class (提煉類)把2者共同點提煉到一個安全地點,讓它們坦蕩的使用這個新類。或者可以嘗試運用 Hide Delegate (隱藏委託關係)讓另一個類來為它們傳遞相思情。

         繼承往往造成過度親密,因為子類對超類的瞭解總是超過後者的主觀願望,如果你覺得該讓這個孩子獨自生活了,請運用 Replace Inheritance with Delegation (以委託取代繼承)讓它離開繼承關係。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.