溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java開發(fā)框架的設(shè)計原則有哪些

發(fā)布時間:2023-05-04 11:15:23 來源:億速云 閱讀:113 作者:zzz 欄目:編程語言

這篇文章主要介紹“java開發(fā)框架的設(shè)計原則有哪些”,在日常操作中,相信很多人在java開發(fā)框架的設(shè)計原則有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java開發(fā)框架的設(shè)計原則有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

框架開發(fā)概念簡介

  • 面向?qū)ο蠓治觯好嫦驅(qū)ο蠓治鍪菍⒖陀^世界編程業(yè)務(wù)領(lǐng)域進行對象分析,有點一些概念這個過程中應(yīng)該了解的;充血模型:數(shù)據(jù)和對應(yīng)的業(yè)務(wù)邏輯被封裝到同一個類中;貧血模型:數(shù)據(jù)和業(yè)務(wù)邏輯被分割到不同的類中;DDD:領(lǐng)域驅(qū)動模型,MVC傳統(tǒng)三層架構(gòu);

  • 面向?qū)ο笤O(shè)計目的:強內(nèi)聚、低耦合;易擴展;穩(wěn)定性;可擴展、簡單;

  • 面向?qū)ο笤O(shè)計原則:原則是獨立與編程語言,甚至也可以用與非面向?qū)ο蟮木幊陶Z言;

  • 設(shè)計模式:主要用于解決某一類問題的通用解決方案,相當(dāng)于數(shù)學(xué)公式,做嵌套式開發(fā),一般我們總結(jié)為設(shè)計模式為創(chuàng)建式模式、行為模型、結(jié)構(gòu)模式;

  • 框架:框架是實現(xiàn)某一類應(yīng)用的結(jié)構(gòu)性程序,是對某一類架構(gòu)方案可復(fù)用的設(shè)計與實現(xiàn)

開發(fā)框架之設(shè)計原則

SOLID原則

java開發(fā)框架的設(shè)計原則有哪些

  • SRP: Single Responsibility Principle,一個類或者模塊只負責(zé)完成一個職責(zé);

  • OCP:Open Closed Principle,軟件實體(模塊、類、方法等)應(yīng)該“對擴展開發(fā),對修改關(guān)閉”;

  • LSP:Liskov Substitution Principle,子對象能夠替換程序中父類對象出現(xiàn)的任何地方,并且保證原來的程序邏輯行為不變及正確性不被破壞;

  • ISP: Interface Segregation Principle,客戶端應(yīng)該不強迫依賴它不需要的接口;

  • DIP:Dependency Inversion Principle,高層模塊不要依賴底層模塊,高層模塊和底層模塊之間應(yīng)該通過抽象來相互依賴,除此之外,抽象不要依賴具體的實現(xiàn)細節(jié),具體實現(xiàn)細節(jié)依賴抽象。

KISS原則

KISS=Keep It Short and Simple.(盡量保持簡單。)

  • 不要使用同事可能不懂的技術(shù)來實現(xiàn)代碼。比如前面例子中的正則表達式,還有一些編程語言中過于高級的語法等。

  • 不要重復(fù)造輪子,要善于使用已經(jīng)有的工具類庫。經(jīng)驗證明,自己去實現(xiàn)這些類庫,出 bug 的概率會更高,維護的成本也比較高。

  • 不要過度優(yōu)化。不要過度使用一些奇技淫巧(比如,位運算代替算術(shù)運算、復(fù)雜的條件語句代替 if-else、使用一些過于底層的函數(shù)等)來優(yōu)化代碼,犧牲代碼的可讀性。

YAGNI原則

KISS=You Ain’t Gonna Need It.(不要做過度設(shè)計。)

  • 設(shè)計的初衷是提高代碼質(zhì)量;

  • 設(shè)計的過程是先有問題后有方案;

  • 設(shè)計的應(yīng)用場景是復(fù)雜代碼;

  • 持續(xù)重構(gòu)能有效避免過度設(shè)計;

  • 不要脫離具體的場景去談設(shè)計;

DRY原則

DRY=Don’t Repeat Yourself.(不要寫重復(fù)的代碼。)

  • 減少代碼耦合;

  • 滿足單一職責(zé)原則;

  • 模塊化;

  • 業(yè)務(wù)與非業(yè)務(wù)邏輯分離;

  • 通用代碼下沉;

  • 繼承、多態(tài)、抽象、封裝;

  • 應(yīng)用模板等設(shè)計模式。

Java的特點有哪些

1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。 

2.Java具有簡單性、面向?qū)ο蟆⒎植际?、安全性、平臺獨立與可移植性、動態(tài)性等特點。 

3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

到此,關(guān)于“java開發(fā)框架的設(shè)計原則有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI