iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0

Hello 大家好,我是陽光伏特家的工程師 Oscar,這是我第一次參加鐵人賽!每年都想報名結果每年都拖到忘記

本系列文章將會分享關於我和我的同事們怎麼解決 Ruby on Rails 專案上遇到的問題,和導入 Domain-Driven Design 到 legacy system 的血與淚。因為目前仍正在學習 Domain-Driven Design 的路上,如果在文章中有用錯名詞或觀念不正確的地方歡迎指正,也歡迎一起討論有沒有更佳的設計方式。

文章內容將會分成以下幾個部分

  • 描述我們在專案遇到的問題
  • 我們如何一步一步地導入 Domain-Driven Design
  • 在 Ruby on Rails 的 legacy system 中我們是如何實踐 DDD

另外會介紹我們自己開發的小框架 Boxenn,他幫我們統一了介面,並可以跨專案使用。

Boxenn 介紹包含

  • DAL 層實作概念(Repository)
  • DAL Q&A
  • Entity 實作與擴充
  • Use Case 封裝
  • Use Case 擴充
  • 還未解決的問題

關於專案

為了更完整的分享關於心得

我們進行的專案和團隊有以下的特性

  • 須維持 10 年以上
  • 需求不明確且需要能快速產出以驗證商業模式
  • 效能與 concurrency 並不是現階段需擔心的問題
  • 功能必須在線上持續運作
  • 相較來說是小專案 (line of code < 10萬)
  • 小型開發團隊 (< 5人)

我們想要達到的目標是

  • 容易擴充功能的 code base
  • 容易傳承的 domain knowledge
  • 完整的 spec

下一篇
[DAY2] 聽說 Rails 開發很快速?
系列文
在 Ruby on Rails 中導入 Domain-Driven Design 是不是搞錯了什麼?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言