主题 12:实践案例集锦之设计理念
1. 引言
古语云:道为术之灵,术为道之体;以道统术,以术得道。
其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。工匠追求“术”到极致,其实就是在寻“道”,且离悟“道”也就不远了,亦或是已经得道,这就是“工匠精神”——一种追求“以术得道”的精神。如果一个工匠只满足于“术”,不能追求“术”到极致去悟“道”,那只是一个靠“术”养家糊口的工匠而已。
作为《工程师实战方法论核心 12 讲》专栏的最后一篇文章,笔者不打算介绍一个具体的案例(术),而将介绍一些从实践中总结而来的设计理念,勉强算是“道”吧。如果你已经阅读至此,那么不妨继续阅读,有始有终,相信定会有所收获。
2. 设计理念
2.1 自上而下设计,自下而上验证
提到软件设计,很多工程师可能会想到一幅幅结构清晰的架构图,以为关于软件架构的所有奥秘都隐藏在图里,但经历过一些项目后发现,这往往是不够的。Jack Reeves 在《源代码即设计》一文中提出一个观点,笔者深以为然,在此引用如下:
高层结构的设计不是完整的软件设计,它只是细节设计的一个结构框架。在严格地验证高层设计方面,我们的能力是非常有限的。详细设计最终会对高层设计造成的影响至少和其它的因素一样多(或者应该允许这种影响)。对设计的各个方面进行改进,是一个应该贯穿整个设计周期的过程。
主题 12:实践案例集锦之设计理念相关推荐
- 主题 12:实践案例集锦之兜底方案设计
1. 引言 惟事事,乃其有备,有备无患--<尚书·说命中> 在<主题 02:如何设计系统预案?>一文中,笔者以三个 W(什么是预案?为什么要做预案?如何设计预案?)为主线展开, ...
- 主题 12:实践案例集锦之接口设计
1. 引言 API 是模块或者子系统之间交互的桥梁,好的系统架构离不开好的 API 设计.在<主题 1:如何设计一个好的 API>一文中,笔者解读了什么样的 API 设计是好的设计,本文作 ...
- 【视频课】如何真正系统性地夯实CV基础,近50小时视频+12大Pytorch CV实践案例助你攻略CV三大基础任务...
计算机视觉中大大小小可以包括至少30个以上的方向,在基于深度学习的计算机视觉研究方向中,图像分类,图像分割,目标检测无疑是最基础最底层的任务,掌握好之后可以很快的迁移到其他方向,比如目标识别,目标跟踪 ...
- 超干货 | 一线从业者实践案例大分享:3个tips实现用户增长
12.21冬至日,网易云信.网易七鱼联合职人社举办线下闭门交流会,一起探讨To B企业如何做增长.活动筛选了来自不同行业的21位嘉宾,要求每人准备5分钟的分享,聊聊自己在过去一年的增长经验. 继最具启 ...
- 科大讯飞交通超脑荣获 2019 年大数据应用最佳实践案例 TOP10
12月5日,由中国计算机学会主办,CCF 大数据专家委员会承办的中国大数据技术大会(BDTC 2019)在北京长城饭店隆重举行.会上揭晓了由CCF大数据专家委员会组织评选的大数据应用最佳实践案例TOP ...
- php教育网站设计案例_南广东区优秀网站设计案例集锦第四期
南广东优秀网站设计案例集锦第四期 第一名:吴嘉文 佛山资深设计师 01 个人介绍 亚里士多德曾经说过:"我们每一个人都是由自己一再重复的行为所铸造的.因而优秀不是一种行为,而是一种习惯.&q ...
- 私域增长 | 私域会员:9大连锁行业15个案例集锦
在见实刚刚发布的"会员×私域"主题白皮书中收录了9大连锁行业26个私域会员案例.这些案例涉及的9大行业分别为:餐饮.美妆.珠宝.鞋服.商超百货.零售.母婴.酒店.茶饮.本篇文章将为 ...
- 数据库案例集锦 - 开发者的《如来神掌》
标签 PostgreSQL , PG DBA cookbook , PG Oracle兼容性 , PG 架构师 cookbook , PG 开发者 cookbook , PG 应用案例 背景 「剑魔独 ...
- Java单元测试典型案例集锦
前言 近期,阿里巴巴CTO线卓越工程小组举办了阿里巴巴第一届单元测试比赛<这!就是单测>并取得了圆满成功.本人有幸作为评委,在仔细地阅读了各个小组的单元测试用例后,发现了两大单元测试问题: ...
最新文章
- sql 2005提示未能加载包Microsoft SQL Management Studio Package
- 9个必知的 Python 操作文件/文件夹方法
- jQuery超炫酷按钮插件及源码
- [leetcode-515-Find Largest Value in Each Tree Row]
- Ubuntu设置为命令行登录
- 第 20 章 观察者模式
- Oracle 12C 新特性之扩展数据类型(extended data type)
- C++类的成员函数(在类外定义成员函数、inline成员函数)
- 相机模型与标定(四)--opencv单目标定例子使用说明
- [公告]博客迁移通知
- Java entity 映射 Json大写字段方法
- 微信扫码登陆(1)---扫码登录流程讲解、获取授权登陆二维码
- c#求长方形的面积周长公式_长方形的面积和周长公式是什么?
- 学习PLC不可错过的15个基础!
- 蓝凌OA系统任意文件读取
- Java项目——云R记
- 将笔记本打造成遥控器――远程桌面控制台式机
- MATLAB下批量修改图片名称
- [TC6194]AllWoundUp
- eclipse工具的使用