測試驅動的Rails開發系列之一——分層架構
What is DDD
There are many kinds of complexity that you have to deal with developing software and different kinds of applications will have very different sets of problems you need to solve. If you are building the next Twitter, scalability and fault-tolerance are the problems you are probably fighting. On the other hand, these problems are almost never an issue when working on enterprise applications. The complex domain is what you tackle when developing enterprise software. Business processes of a lot of companies are far from being trivial. Thus, refining the domain that provides loose coupling and will be flexible and maintainable in the future is extremely hard and requires a lot of practice and knowledge.
The Book
Eric Evans – the author of Domain Driven Design – coined the set of practices and terminology helping in tackling domain complexity. His book is a must read for every developer working on enterprise applications and I highly recommend it.
DDD and Rails
Working more and more on large rails applications I’ve noticed that in many ways DDD and Rails contradict each other. Therefore, I’ve decided to write a short series of articles, which will be my attempt to reconcile both paradigms and to find a way to use DDD while not fighting Rails.
Before I start, I’d like to mention that I’m going to write about introducing DDD concepts to an existing application. Therefore, despite that Uncle Bob’s approach (check out this awesome talk) may look appealing, introducing it to an existing Rails application with hundreds of thousands lines of code is, probably, the last thing I want to do. Hence, everything I’m going to write about here is, in some way, a compromise.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-730671/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 測試驅動的Rails開發系列之二——實體AI
- 架構之路(4):測試驅動架構
- "測試"驅動開發
- 談“測試驅動的開發”
- 【敏捷開發】驅動測試開發敏捷
- 測試驅動開發(TDD)的思考
- 小議測試驅動開發
- 基於測試驅動的iOS開發iOS
- 面向 C++ 的測試驅動開發C++
- Laravel 測試驅動開發 -- 正向單元測試Laravel
- TDD(測試驅動開發)死了嗎?
- 你這不是測試驅動開發
- 什麼是測試驅動開發
- 使用 TDD 測試驅動開發來構建 Laravel REST APILaravelRESTAPI
- 變異測試是測試驅動開發(TDD)的演變
- 測試驅動開發(TDD)例項演示
- 測試驅動開發到底好不好
- 三層架構及分層架構
- 測試驅動開發(TDD)實戰心得 - DeniMoka
- 是否使用TDD(測試驅動開發)進行UI開發UI
- 測試驅動開發(TDD)跟敏捷開發有衝突敏捷
- google測試分享-分層測試Go
- 測試驅動開發在專案中的實踐
- 基於Python的測試驅動開發實戰Python
- 拒絕測試驅動開發(TDD)的10個理由
- 測試驅動開發上的五大錯誤
- 移動應用的測試策略與測試架構架構
- <ddd--領域驅動設計學習>討論--------分層架構架構
- 星雲精準測試對安卓底層驅動程式碼的測試案例分析安卓
- 分層架構和SOA架構
- 行為驅動開發在 Python 開發測試中的應用Python
- 測試驅動開發(TDD)總結——原理篇
- 驅動開發目標測試機器設定
- Kent Beck 的《測試驅動開發》(TDD) Money示例Ruby版
- 營運型手遊開發、測試、正式的三階段開發架構架構
- 在Ruby on Rails/Naked Objects精神指引下的域驅動開發框架AIObject框架
- 有自驅力的測試開發實習生
- 【linux】驅動-5-驅動框架分層分離&實戰Linux框架