27 分鐘示範 MVC 架構|六角學院|2023 鐵人賽 #3

Поделиться
HTML-код
  • Опубликовано: 3 янв 2025

Комментарии •

  • @chingchuan0410
    @chingchuan0410 Год назад

    謝謝!

  • @hsuandy3603
    @hsuandy3603 Год назад +2

    太帥啦

  • @miku3920
    @miku3920 Год назад +5

    偷偷告訴大家一個大秘密,其實 MVC 的 Model 不是 Schema,也不是 Repository,而是 Domian Model

    • @ayugioh2003
      @ayugioh2003 Год назад +4

      我對 Repository 沒有很懂
      以下是我問 claude AI 的解釋
      關於 schema、repository 與 domain model 的解釋如下:
      Schema 是資料結構的描述,定義資料如何儲存、組織和互相關聯。Schema 通常用於關聯式資料庫,描述資料表的欄位、資料型別等資訊。例如一個使用者資料表的 schema 可能包含欄位 "id"、"name"、"email" 等。
      Repository 是負責存取資料的介面或類別。在軟體設計中,Repository 負責封裝對資料來源(如資料庫)的訪問邏輯,並將資料映射到程式中的物件。Repository 隱藏了資料儲存的細節,提供更高層級的資料訪問介面給其他元件使用。
      Domain model 描述商業領域中的概念(Concept)和關係,以物件導向方式呈現。Domain model 中的類別代表商業風險中的主要物件和概念。例如一個線上商店的 Domain model 可能包含 Customer、Order、Product 等類別。
      簡單來說,schema 描述資料結構,repository 負責資料訪問,domain model 描述商業領域邏輯。Schema 和 repository 更偏向於技術層面,domain model 則專注在業務層面。

    • @hexschool
      @hexschool  Год назад +1

      感謝分享觀點及補充~

    • @miku3920
      @miku3920 Год назад

      ​@@ayugioh2003
      Schema 代表是資料的結構,在程式裡用來定義資料庫的欄位的東西。
      Repository 是負責去資料庫取資料的那個 人,通常會有 find, save 那些功能,讓呼叫他的人能很方便的取得想要的資料。
      Domain 則是讓這些資料動起來的地方,也就是網站的核心功能和邏輯。
      Controller 會在有請求時叫 Repository 把需要的資料取出來,並且將資料轉換成 Domain,之後交給這個負責的 Domain 處理,最後 Controller 將處理後的資料轉換成前端需要的格式傳給前端。
      以上是我的理解,如果有誤或需要補充的地方還請指正

    • @smithlin2678
      @smithlin2678 Год назад

      問題很多人把那個Domain Model搞成Anemic Model...
      Anemic Model的爭論長年已久了...
      那些便捷的ORM框架很容易導致的後果就是翻一下Models, 幾乎全都是Anemic Model...
      那根本不是Domain Model

    • @joelee5682
      @joelee5682 Год назад

      蛤?