博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用ABP框架快速完成项目(9) - 用ABP一个人快速完成项目(5) - 不要执着于设计模式和DDD理论,避免原教旨主义...
阅读量:5839 次
发布时间:2019-06-18

本文共 1088 字,大约阅读时间需要 3 分钟。

为什么要写这节文章呢?
 
首先主动看我这系列文章和参加活动课程的同学, 肯定是积极好学的. 所以很大概率是学过设计模式和DDD理论的. 很大概率不是走一点都不懂设计模式和DDD理论这个极端, 而是走了过度使用设计模式和DDD理论,钻了牛角尖这个极端,这个现象有个科学名词叫做“原教旨主义”
 
因为我会在后面团队做项目的章节里面讲到DDD理论. 所以我在这节就不过多赘述了. 就以设计模式为例吧.
 
  1. 设计模式起于1995年的《Design Patterns: Elements of Reusable Object-Oriented Software》一书, 1995年, 年代好久远啊, 23年来各种技术工具发展, 这本书提出的23种设计模式的实现已经跟不上时代的脚本了. 我是2006年看这本书的, 那时候看得真是糊里糊涂啊.
  2. 直到后来遇到这本书<> 才开始能够理解设计模式, 因为这本书根据C#的特性(特别是反射), 合并23种设计模式的部分, 甚至做出了创新. 也就是说, 这本书能根据工具和技术的发展去完善设计模式理论的实现, 当然, 具体细节肯定是和上面1995年GOF的那本有不少差别.
  3. 看完<>这本书又过了一年, 我接触到Martin Flower的<测试驱动开发>那本书, 并开始使用TDD. 因为TDD需要使用Mock, 所以就需要使用interface和ioc, 这时候就不得不同时也不知不觉就用上了设计模式了.
  4. 又过了3年, 2010年, 我开始应用BDD, BDD比TDD多了很多优点, 其中一个就是测试代码更加结构化了, 于是用设计模式更自然了.
  5. 我在2011年的时候回顾了以上两本设计模式的书籍, 发现除了singleton模式的实现之外所有设计模式实现都变了. 详情可以看这篇文章<>
  6. 现在是2018年了, 又十几年过去了, C#也到了8.0了, 这么多年来C#多了十分多的特性, 自然设计模式的实现细节是不一样的, 设计模式的种类更加不可能还是1995年的那23种了.
 
技术和工具不断的升级会简化和合并理论细节,从而更新了理论实施细节。所以我们不要钻牛角尖。
DDD也一样,ABP虽然不是严格的DDD实现,但是我们应该是去适应ABP,而不是去适应DDD. 就像我们应该去根据C#语言去实现设计模式, 而不是去根据GOF 1995年的书籍去实现设计模式 

转载于:https://www.cnblogs.com/adalovelacer/p/abp-quickly-delivery-9-one-person-project-5-use-ddd.html

你可能感兴趣的文章
QAQ高精度模板笔记√
查看>>
Jmeter计数器的使用-转载
查看>>
【Android笔记】入门篇02:全屏设置和禁止横屏竖屏切换
查看>>
4. Median of Two Sorted Arrays
查看>>
Kubernetes的本质
查看>>
PL/SQL developer 管理多套数据库
查看>>
黑马程序员-分类(category)
查看>>
新建PCH文件以及常用宏定义
查看>>
vue-cli多页面
查看>>
进程和线程
查看>>
iOS Foundation框架简介 -1.常用结构体的用法和输出
查看>>
java--迭代(三)foreach解析与字节码
查看>>
libevent reference Mannual I
查看>>
《mysql必知必会》读书笔记--安全管理及数据库维护
查看>>
eclipse创建Maven父子结构Maven项目
查看>>
Python 太糟糕了?开发者总结了 8 大原因
查看>>
Spring中注入基本类型
查看>>
aws devops
查看>>
Android 中文API (33) —— Checkable
查看>>
脚本方式安装 IIS7
查看>>