[DAY1] 在开始之前

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

<<:  Day4 Hello World! &基本介绍

>>:  Angular+Spring Boot API 处理股市资料-前言+认识Spring Boot(Day1)

离职事项:我被裁员了,该准备哪些东西?

前言 最近这两年受到疫情的冲击,尤其是从今年五月中开始疫情第三级警戒,许多企业开始裁员,失业率创近期...

Day30 铁人赛後心得

真的很感谢 ITHOME 的团队,办这次的比赛,我也没有想到第一次打铁人文就报双主题,而且都挑战成功...

Day25|【Git】git stash 暂存档案

可能会遇到使用 git stash 指令情境: 假想今天可能在公司进行手中任务时,突然接收到老板或是...

DAY 11 - 水手服鬼魂怪

大家好~ 我是五岁~ 今天拿到了新绘图板~~ 所以还在努力适应它~ 因为笔触不一样!!! 差点来不及...

Day29:今天来聊一下如何建立及管理 Azure Sentinel 威胁搜捕查询

Azure Sentinel包含功能强大的查询工具,可协助为资安人员找出并隔离公司环境内安全 性威胁...