1.Tier和Leyer的區別:架構
Tier 指的是系統的物理部署結構測試
Leyer 指的是系統的邏輯層結構編碼
2.基本設計原則概述設計
KISS原則 提倡在設計和編碼中,儘可能保持代碼的簡約性,避免沒必要要的複雜對象
DRY原則 抽取系統中的公共部分,並把它放到一個地方避免重複,既適用於代碼也試用於功能和業務邏輯接口
Tell,Don’t Ask原則 要去對代碼進行合理的封裝,並把它放到正確的類中,並明確告訴對象咱們想要它去執行什麼樣的操做,而不是首先詢問對象的狀態開發
YAGNI原則 設計中只包含所必須的功能,不包含你認爲未來可能會用到的功能或特性,防止過分設計部署
Soc原則 把一個軟件功能分離爲單獨功能點,被分離的每一個功能點有惟一的行爲和數據,並且每個功能都能被其餘所須要的類單獨使用,經過這個原則,咱們能夠最大限度的實現代碼重用、功能模塊重用擴展
3.S.O.L.I.D原則重構
SRP 單一職責原則 就一個類而言,應僅有一個引發它變化的緣由。
OCP 開放封閉原則 軟件實體(類、模塊)應該是可擴展的,可是不可修改。
LSP 里氏替換原則 子類必須可以替換它們的基類型
ISP 接口分離原則 不該該強迫類實現它不須要的方法。如歌一個接口中包含了不少不大並且不相關的方法,那麼這個接口就必需要被分組,讓後分離出多個接口,讓實現接口的類去實現它須要的方法。
DIP 依賴倒置原則 高層的模塊不該該依賴於低層的模塊,兩者應該依賴於抽象,抽象不該該依賴於細節,細節應該依賴於抽象,高層模塊是指系統不常常發生變化的部分,是一個系統區別於其餘系統的標誌,包含了系統的策略選擇和業務模型。底層模塊是指系統中常常發生變化的部分。
4.企業級開發
企業級開發一般是指在開發工程中採用實現企業架構的模式和實踐方法。企業級開發會使用不少的方法和方法論來實現系統必須具有的指標:可靠性,靈活性,重用性、可維護性,這些指標也是衡量一個軟件系統好壞的指標。全部企業級項目就已上(RFRM)的項目,企業級項目的概念和項目的大小是沒有什麼關係的。
5.測試驅動開發(TDD)
TDD的目的是經過測試來造成好的設計。進行軟件開發的時候,首先經過寫不能測試經過的測試代碼來確認一下業務邏輯,而後寫出真正的業務邏輯代碼使測試代碼經過,最後重構代碼。
6.領域驅動開發(DDD)
領域驅動開發的核心是如何將業務領域的概念映射到軟件開發中,DDD經過對現實領域中的概念進行抽象和建模,而後進一步分析業務規則和業務模型之家的關係,從而獲得一個更加接近現實領域的全部業務模型,從而開發可以解決領域問題的軟件。
7.行爲驅動開發(BDD)
行爲驅動開發是一種融合了可接受性測試驅動計劃、領域驅動設計、及驅動開發的敏捷開發模型。