元件耦合性 3 大原則 : ADP、SDP、SAP | 軟體 x 如何設計 | 最少改動 最大收益 【Gamma Ray 軟體工作室】

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ย. 2024

ความคิดเห็น • 12

  • @建平許
    @建平許 3 ปีที่แล้ว +3

    謝謝講解~~
    很扼要清晰!!! 搭配圖片的解釋很容易快速理解

    • @rhxs020
      @rhxs020  3 ปีที่แล้ว

      感謝肯定! 😀 有幫助到真是太好了👍

  • @tbxgoozhang9810
    @tbxgoozhang9810 2 ปีที่แล้ว +1

    util调用domain层能否给个实例

    • @rhxs020
      @rhxs020  2 ปีที่แล้ว

      簡單來說就是 domain 層放 Interface,util 層 依據 Interface 來實作功能。
      這個邏輯實作起來還是有點繞,我個人目前習慣 domain 只放純邏輯,剩下 dao、util 的各種調用,都全部塞在 application 層,
      反正 application 層,管理流程已經夠亂了,保持 domain 的單純,也是體現應用層價值的一種方式 😆。

    • @tbxgoozhang9810
      @tbxgoozhang9810 2 ปีที่แล้ว

      @@rhxs020 您的意思是domain层不和基础设施层发生关系,基础设施层的调用都是application层发起的?或者application和domain层,对基础设施层的调用都要用interface来隔离

  • @rumsgr
    @rumsgr 3 ปีที่แล้ว +1

    感謝提供如此生動的講解,穩定依賴的部份有一些內容不太明白想尋求解惑
    越穩定的元件,更動時工作量越大,這樣感覺不穩定的元件反而比較好的樣子?
    舉例來說,如果我用一個Manager類別來管理程式的流程,因為要依賴許多元件(角色、場景、互動物件等),這就算是不穩定的元件吧
    這樣子算是不好的方式嗎?
    我是用Unity開發的,不知道適不適用講解的內容。

    • @rhxs020
      @rhxs020  3 ปีที่แล้ว +2

      穩定依賴原則,定義是 由穩定度較低的元件(不穩定) 向 穩定度高的元件(穩定) 方向依賴
      也就是說,關注的點是「位置」 洽不洽當,而不是「好與壞」
      至於什麼位置適合什麼樣的穩定度,可以參考 「DDD 領域驅動設計」 ( th-cam.com/video/mducM_tUUEY/w-d-xo.html )
      其中的四大分層 :
      + 用戶介面層 (User Interface)
      + 應用層 (Application Layer)
      + 領域層 (Domain Layer)
      + 基礎設施層 (Infrastructure Layer)
      穩定度就是由低至高 :
      UI 介面常常會更動 ,所以具有彈性的「不穩定」比較好
      資料庫 或 共用工具 ,大家都要用,影響比較大,所以改動成本大的 「穩定」 比較好
      像 Manager 類別,管理程式的 「流程」,在分類上屬於 「應用層」 (使用者案例)
      那麼穩定度介於 「用戶介面層」 與 「領域層」 之間,就會是最好的情況。

    • @rumsgr
      @rumsgr 3 ปีที่แล้ว +1

      @@rhxs020 感謝補充講解內容,原來不同領域的類別需要的穩定度是不一樣的,我對影片的內容又更為瞭解一些了。

  • @lovepm860524
    @lovepm860524 3 ปีที่แล้ว +1

    感謝製作動畫影片解釋!
    示範用的程式碼是 Java 嗎?
    能不能解釋一下 5:34 應用層的 class 當中,updateVersion() 所注入的依賴 AppInfo 來源是哪裡?
    在前面的 interface、與其實作中,好像找不到這個東西

    • @rhxs020
      @rhxs020  3 ปีที่แล้ว

      感謝反饋 😀
      示範是用 Java 的 Spring Boot 框架
      這邊舉例的部分是延伸「領域驅動設計」的架構分層 : th-cam.com/video/mducM_tUUEY/w-d-xo.html
      AppInfo 的例子應該是在那部影片的 6 分 24 秒左右,領域層的實體(Entity)與值對象(VO)

  • @stonyfreedom
    @stonyfreedom 3 ปีที่แล้ว +1

    期待下一集!

    • @rhxs020
      @rhxs020  3 ปีที่แล้ว +2

      感謝反饋! 😀
      下一集要挑戰「元件內聚性」的題目,
      有些複雜,但我會試著說的簡單易懂些。