|心想技术驱动业务,却在背道而驰( 二 )
常见的设计原则:
- SRP 单一职责
- OCP 开闭原则
- LSP 里氏替换原则
- DIP 依赖倒置原则
- ISP 接口隔离原则
常见的设计思想:
- 分层架构
- 六边形架构
- 洋葱架构
- 领域驱动设计
/03 构建完备的领域模型/
上面的四个设计思想 , 要我说哪个最有用 , 肯定是DDD 。 最近几年DDD也被炒的非常火 。
这里的领域模型就是DDD中的概念 。
我算是国内比较早一批接触DDD并运用的人 , 大概在2014年的时候机缘巧合了解到了DDD , 然后啃了两本最经典的书 , 当时给我一种看到世外桃源的感觉(真实感受 , 不夸张) 。
它让代码里的model变得有血有肉 , 好像你在设计一个虚拟城市一样 。 这里需要摆一个物件 , 那么它需要长成什么样子 , 你要尽可能详细的描绘出来;那里需要摆一个人物 , 那么他长什么样子 , 当时正在做什么事 , 也得描绘出来 。
DDD让你摒弃了传统三层架构以数据表为核心的代码设计方式 , 可以让业务含义更多地体现在代码中 。 如此的好处很明显 , 就是你的代码可扩展性必然很强 , 因为你的一个model体现了现实世界中所代表的对象 , 现实中的对象多了一种行为 , 那么给这个model增加一个对应的function就好 。
如果你是一位DDD(领域驱动设计)新手 , 并对DDD感兴趣 , 可以翻阅我2016年写DDD系列文章《如何一步一步用DDD设计一个电商网站》来入门 。 (当时还没开通公众号 , 所以你得到我的博客去看:zacharyfan.com)
不过里面有些内容在后来我有新的理解 , 但并没有更新 。 不过这不影响你体会DDD的优雅 , 所以你还是可以看看 。
当你做好了前面的3步 ,你就具备了驱动业务的前提条件 。
- 懂业务 。
- 基础架构够稳、弹性够强 。
- 现实的问题在技术维度上体现的够清楚 。
本文插图
在这之上你就可以尝试基于对领域模型的观察找到前面提到的技术能够驱动业务的两个目标:
- 当前无法解决的问题
- 当前解决效率不高地方
好了总结一下 。
这篇呢 , Z哥和你分享了我对技术驱动业务这件事的看法 。
我认为技术驱动业务的关键并不在于技术多好 , 而在打破惯性思维和对业务的理解深度上 。
所以 , 如果你想真正做到驱动业务 , 不妨先将以下3点基础工作做好 , 否则只是空想而已 。
- 理解业务
- 稳健、可扩展的基础架构
- 构建完备的领域模型
推荐阅读:
- 好的自我介绍 , 面试成功一大半
- 软件如何优雅地向前兼容?
想更进一步和我一起玩耍 , 欢迎「搜索微信公号:跨界架构师」 。
内容包括:架构设计丨分布式系统丨产品丨运营丨个人深度思考 。
【|心想技术驱动业务,却在背道而驰】更多原创精品 , 欢迎加入小圈子 , 请戳【了解更多】
推荐阅读
- 电池技术,相机发烧|防爆相机多少钱能买到?
- 行业互联网|深圳第22届高交会闭幕:一大批新技术新成果集中亮相
- 电池技术|动能转换看烟台|有锂电池的地方就有创为
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
- 行业互联网|英国运输技术论坛发布网络安全标准和指南摘要
- 钉科技|“选择性过滤”太难?方太“死磕”8年突破净水技术
- 中国新闻网|告别各自为营,梧桐车联宣布开放系统“技术底座”
- 腾讯|腾讯举办科学脱口秀X-Talk,聚焦人工智能、基因编辑等前沿技术
- 科技|引擎,在创新驱动下轰鸣——来自“中国科技第一展”的前沿观察
- |「推仔说新闻」NVIDIA曝光CPU+GPU加速技术 支持两家处理器
