NO.7 理論四:哪些代碼設(shè)計看似是面向?qū)ο?,實際是面向過程的?

三種違反面向?qū)ο箫L(fēng)格的典型代碼設(shè)計

  1. 濫用setter, getter方法
    在設(shè)計實現(xiàn)類的時候, 除非真的需要,否則盡量不要給屬性定義setter方法,除此之外, 盡管getter方法相對setter方法要安全寫,但是如果返回的是集合容器對象,那也要防范集合內(nèi)部數(shù)據(jù)被修改的風(fēng)險
    (OC 默認(rèn)添加屬性自帶setter getter .....攤手, 只能通過相關(guān)的關(guān)鍵字去控制訪問權(quán)限 )
  2. Constans類, Utils類的設(shè)計問題
    對于這兩種類的設(shè)計,我們盡量能做到單一職責(zé), 定義一些相對更細(xì)化的小類, 比如 RedisConstans, FileUtils, 而不是定義一個大而全的 Constans類 Utils類, 除此之外, 如果能將這些類中的屬性和方法, 劃分歸并到其他業(yè)務(wù)類中, 那是最好不過的了, 能極大地提高類的內(nèi)聚性和代碼的可復(fù)用性.
  3. 基于貧血模型的開發(fā)模式
    關(guān)于這一部分,我們只講了為什么這種開發(fā)模式是徹徹底底的面向過程編程風(fēng)格, 這是因為數(shù)據(jù)和操作是分開定義在VO\BO\Entity和 Controller\ Server \ Respository中的, 至于為什么這種開發(fā)模式如此流行? 如何規(guī)避面向過程編程的弊端? 有沒有更好地可替代的開發(fā)模式? 更多箱規(guī)按的問題, 本章節(jié)只需要知道有這么個東西就可以了(作者說的 哈哈),
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容