@ddd-tool/domain-designer-cli 0.0.0-alpha.22 → 0.0.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -84,6 +84,24 @@ domain-designer-cli init
84
84
 
85
85
  - 如果新增或者删除了 ts 文件,需要重新运行`RunWeb`脚本
86
86
 
87
+ ## 6 设计理念
88
+
89
+ ### 6.1 低学习成本
90
+
91
+ - 用户学习成本必须控制在几分钟以内。必须把复杂性封装到库内,然后把使用难度保持在 js 级别(无需考虑类型)
92
+
93
+ ### 6.2 单向工作流
94
+
95
+ - 对于特性的添加,遵循“单向工作流”原则:先设计 -> 再开始落地 -> ...
96
+ 拒绝“落地影响设计”
97
+
98
+ - 如果某些特性,哪怕可以给每个项目的落地节省 10 分钟,就可以考虑做
99
+
100
+ - 如果某些特性,侵占了下一步工作的“职责”,那就不做
101
+
102
+ - 例如:代码生成功能可以做,且这个功能应开始于减负,结束于减负:它的目标就是让我们在初次落地时少写一点样板代码,假如这个样板代码不太准确,我们可以先手动调整,然后在不增加领域建模负担的前提下慢慢优化功能。
103
+ 这个代码生成功能绝不会是“低代码”,否则这将要求领域设计工作的复杂度与完备性将与目标编程语言的实现相近,最大的问题是,假如是低代码理念,当落地代码需要有某些调整(非领域设计问题),我们又要回过头担忧怎么改设计了,这实质上是一种返工。最终浪费的时间将远超样板代码方面节省的时间。一个好的工具应该让使用者顺利在自己应有的工作流程中一步步走下去,而不是制造麻烦。
104
+
87
105
  ## License
88
106
 
89
107
  This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.