设计规则:模块化的力量
这是一本比较冷门的书**《设计规则:模块化的力量》**,虽然豆瓣上只有58个评价,但是确实能学到很多东西。
这本书对我非常深远。不是是投资,创业,还是其他领域,模块化思想都能帮上你。这本书告诉我们生万物的规则。
书籍电子版PDF(建议及时保存,避免被和谐):https://pan.quark.cn/s/aa40d59295df(分类在设计类书籍文件夹)
备用链接:https://pan.xunlei.com/s/VNgj2vjW-Hf_543R2K8kbaifA1?pwd=2sap#


这本书谈的是机制设计,机制设计就是系统运行规则的制定,是一个复杂系统的构建。无论是创业做一个公司,开发一个产品,还是创作一篇文章,都是在构建一个复杂系统。
那么如何构建一个复杂系统呢? 本能的反应就是先局部,再组合到一起形成一个整体。这就是模块化的思维。
《设计规则:模块化的力量》是关于模块化的一本神书,是哈佛商学院工商管理教授写的,通过讲解如何用模块化的方式构建一个复杂稳定运行的系统。
鲍德温教授]认为模块化系统应由下面三个要素组成:
• 设计规则:每个模块间的相互依赖性形成一定的规则;
• 模块:每个模块都要遵循统一的设计规则,而内部可以独立设计;
• 系统集成与检测: 监测并协调各个模块组件集合成整体后的不适合部分。
这里需注意一点,模块是可以递归的,即能够「大盒套小盒」,也就是说模块还可以分解为多个子模块,如有必要,子模块仍然可以进一步分解。将复杂事物分层是帮助我们认清它的一个有效努力,但也不应分太多层,层数太多,设计规则会变复杂,最后整合时发生矛盾的可能性就成倍增加
有用的话,请帮我点个赞!
我们逐个分析这三个步骤:
第一步,设计规则
首先来看设计规则,在模块化过程中,设计规则是纲领,是指导方针,鲍德温教授说明确的规则有三种:
• 结构:确定系统有哪些模块构成,即怎样将模块分解,分类,以及他们如何发挥各自作用;
• 界面:定义模块的边界,模块排序方式,空间、时间的安排,模块间的关系以及信息传递方式;
• 标准:检验模块是否符合设计规则,对模块性能测验和评定。
除明确的规则外,还有一种「隐形的设计规则」,这种规则只在模块内部有效,而对设计其他模块没有影响。而模块内部的决策,可被代替或者事后再定,因此也就没有必要与同它平行的模块知道,我们选择将它「隐藏起来」。
第二步,操作模块
规则有了,那具体如何操作模块呢?鲍德温教授的《规则设计》一书总结了六种不同的模块操作程序:
1.分解:将任务或系统分解为多个模块;
2.替代:用某个模块去替代另一模块;
3.排除:去除某个模块;
4.扩展:增加某个模块;
5.归纳:将多个模块中相同要素归纳合并到一起,组成一个新的模块,这意味将原来的隐藏信息移动到设计层级,使之对其他模块组可见;有点像一个公司中,原来每个项目组都有一个人负责营销,现在将各项目组营销人员整合起来,组成一个新的营销部门,负责所有项目组的营销任务。
6.移植:系统中的某个模块还负责其他同级模块的一些功能,有挣脱该层级的需求,于是就将它升级到上一层。这就像在企业中,一个小组长是多面手,既管营销,又管生产,都干的很好,小组长这个职位已经不能充分发挥它的才能,领导就升迁他做了副经理。
第三步,系统集成与检测
模块化系统中最后一个要素是系统集成与检测。如果高质量的完成了规则设计和模块操作,那么系统集成会很顺利。但结果总跟预想的不一样,因此需要对各模块检查验收,以及协调和消除各模块间的摩擦。一般来说,系统集成与检测是平行于其他模块的一个实现特殊功能的模块。这有点像建筑施工中监理单位的工作,监理和施工单位是平行的,负责检查各单位工作的完成质量和进度,也协调过程中遇到的问题,保证项目既快又好地竣工。
这本书因为含金量极高,跨学科,理论性很强,读起来会有点难度,我读了三遍,做了几万字的笔记,才摸到点门。
如果对这个主题感兴趣,有本比较薄,好读的书,名叫《模块时代:新产业结构的本质》,日本人写的,是对这个领域的一些概述,相对好读很多,读完感兴趣,意犹未尽,可以再啃设计规则。
感兴趣的可以去看看原文,书籍电子版PDF(建议及时保存,避免被和谐):https://pan.quark.cn/s/aa40d59295df(分类在设计类书籍文件夹)
备用链接:https://pan.xunlei.com/s/VNgj2vjW-Hf_543R2K8kbaifA1?pwd=2sap#

如果文章对你有用的话,请帮我点个赞!
相关文章:
设计规则:模块化的力量
这是一本比较冷门的书**《设计规则:模块化的力量》**,虽然豆瓣上只有58个评价,但是确实能学到很多东西。 这本书对我非常深远。不是是投资,创业,还是其他领域,模块化思想都能帮上你。这本书告诉我们生万物…...
数据结构与算法之递归: LeetCode 78. 子集 (Typescript版)
子集 https://leetcode.cn/problems/subsets/ 描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1 输入:nums [1,2,3]…...
C# 使用 Fody 监控方法执行时间
写在前面 在做性能调优的时候,经常需要跟踪具体方法的执行时间;通过插入Stopwatch的方案对代码的侵入性太高了,所以引入了 MethodTimer.Fody 类库,采用编译时注入的方式给方法动态加上Stopwatch 跟踪代码,只需要在目标…...
J2EE征程——第一个纯servletCURD
第一个纯servletCURD 前言在此之前 一,概述二、CURD1介绍2查询并列表显示准备实体类country编写 CountryListServlet配置web.xml为web应用导入mysql-jdbc的jar包 3增加准备增加的页面addc.html编写 CAddServlet配置web.xml测试 4删除修改CountryListServlet…...
BatchOutput PDF for Mac(PDF 批量处理软件)
BatchOutput PDF是一款适用于 Mac 的 PDF 批量处理软件。它可以帮助用户将多个 PDF 文件进行异步处理,提高工作效率。 BatchOutput PDF 可以自动化执行许多任务,包括 PDF 文件的打印、转换、分割、压缩、加密、重命名等,而且它还可以将自定义…...
记一次oracle错误处理
16:00:05 SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项 16:00:49 SQL> startup ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它 16:02:56 SQL> shutdown immediate O…...
hugging face下载dataset时候出现You must be authenticated to access it.问题解决
Cannot access gated repo for url https://huggingface.co/tiiuae/falcon-180B/resolve/main/tokenizer_config.json. Repo model tiiuae/falcon-180B is gated. You must be authenticated to access it. 参考https://huggingface.co/docs/huggingface_hub/guides/download …...
数据结构---树
树概念及结构 1.树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的 有一个特殊的结点,…...
tomcat调优配置
一. 设置账户进入管理页面 通过浏览器进入Tomcat7的管理模块页面:http://localhost:8080/manager/status 按照提示,在Tomcat7服务器指定的位置修改配置文件(conf/tomcat-users.xml),增加相应的用户和角色配置标签 <…...
基于深度学习的点云三维目标检测方法综述
论文标题:基于深度学习的点云三维目标检测方法综述 作者:郭毅锋1,2†,吴帝浩1,魏青民1 发表日期: 2023 1 阅读日期 :2023 11 29 研究背景&…...
Linux命令中的符号
目录 1 管道符 | 1.1 | grep [要检索的东西] 1.2 echo | tee 2 重定向 2.1 输出重定向覆盖 > 2.2 输出重定向添加 >> 2.3 文件输入重定向 < 2.4 多行文本输入重定向 << 2.5 常用搭配 2.5.1 终端不显示 > /dev/null 1 管道符 | 我们…...
BTCPay Server:免费、安全、开源的比特币支付处理器 | 开源日报 No.90
MunGell/awesome-for-beginners Stars: 58.0k License: NOASSERTION 这个项目是一个收集开源项目的列表,旨在帮助初学者找到可以贡献代码的机会。该列表按编程语言分类,并列出了每个项目以及其标签 (如 “good-first-issue”、“beginner” 等)。主要功…...
【数据挖掘】国科大刘莹老师数据挖掘课程作业 —— 第三次作业
Written Part 1. 基于表 1 1 1 回答下列问题(min_sup40%, min_conf75%): Transaction IDItems Bought0001{a, d, e}0024{a, b, c, e}0012{a, b, d, e}0031{a, c, d, e}0015{b, c, e}0022{b, d, e}0029{c, d}0040{a, b, c}0033{a, d, e}0038…...
Windows挂载NFS
ubuntu开启nfs 安装 sudo apt install nfs-kernel-server编辑 /etc/exports /data/share *(rw,no_root_squash)重启服务 sudo systemctl restart nfs-server.service验证 showmount -e localhostwindows连接NFS 选择控制面板 > 程序 > 启用或关闭 Windows 功能 添加…...
数据结构第五课 -----二叉树的代码实现
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
优橙内推北京专场——5G网络优化(中高级)工程师
可加入就业QQ群:801549240 联系老师内推简历投递邮箱:hrictyc.com 内推公司1:西安长河通讯有限责任公司 内推公司2:北京电旗通讯技术股份有限公司 内推公司3:润建股份有限公司 西安长河通讯有限责任公司 西安长河…...
Mysql DDL语句建表及空字符串查询出0问题
DDL语句建表 语法: create table 指定要建立库的库名.新建表名 (... 新建表的字段以及类型等 ...)comment 表的作用注释 charset 表编译格式 row_format DYNAMIC create table dev_dxtiot.sys_url_permission (id integer …...
深入ArkTS:应用状态管理与LocalStorage装饰器详解【鸿蒙专栏-11】
文章目录 ArkTS 应用状态管理详解LocalStorage: 页面级 UI 状态存储使用规则概述:装饰器详解:限制条件:使用场景:1. 应用逻辑使用 LocalStorage2. 从 UI 内部使用 LocalStorageArkTS 应用状态管理进阶LocalStorage 装饰器详解1. @LocalStorageProp2. @LocalStorageLink观察…...
管理Android12系统的WLAN热点
大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。 要创建一个APK管理Android 12系统的WLAN热点,你需要遵循以下步骤: 1. 获取必要的权限和API访问权限。在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:…...
从0开始学习JavaScript--JavaScript 中 `let` 和 `const` 的区别及最佳实践
在JavaScript中,let 和 const 是两个用于声明变量的关键字。尽管它们看起来很相似,但它们之间有一些重要的区别。本篇博客将深入探讨 let 和 const 的用法、区别,并提供一些最佳实践,以确保在代码中正确使用它们。 let 和 const …...
IronPython 3扩展开发指南:构建自定义模块与SQLite集成
IronPython 3扩展开发指南:构建自定义模块与SQLite集成 【免费下载链接】ironpython3 Implementation of Python 3.x for .NET Framework that is built on top of the Dynamic Language Runtime. 项目地址: https://gitcode.com/gh_mirrors/ir/ironpython3 …...
Phi-4-mini-reasoning加速深度学习:卷积神经网络(CNN)模型设计与调优实战
Phi-4-mini-reasoning加速深度学习:卷积神经网络(CNN)模型设计与调优实战 1. 引言:当AI开始设计AI 在图像分类任务中,我们常常陷入这样的困境:面对海量的网络结构选择和超参数组合,即使是有经…...
OpenClaw开源贡献:为Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF开发社区技能
OpenClaw开源贡献:为Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF开发社区技能 1. 为什么我要为OpenClaw开发技能 去年冬天,我在整理个人项目文档时,突然意识到一个痛点:每次都要手动将Markdown笔记转换成不同平台要求的格式…...
Qwen3.5-2B辅助Python科学计算环境搭建:NumPy、Pandas与模型集成
Qwen3.5-2B辅助Python科学计算环境搭建:NumPy、Pandas与模型集成 1. 为什么需要Qwen3.5-2B与科学计算环境结合 在数据分析和机器学习工作中,我们经常面临一个痛点:数据处理和报告撰写是两个割裂的环节。传统的工作流是先使用NumPy、Pandas等…...
别再为AI芯片的模拟前端发愁了!手把手教你用Cadence Virtuoso搞定7nm共源共栅放大器设计
7nm共源共栅放大器实战:从Cadence Virtuoso到AI加速器集成 在AI芯片设计的竞技场中,模拟前端电路如同短跑运动员的起跑器——微小的性能差异将直接影响整个系统的冲刺速度。当我们面对7nm工艺下低至0.8V的电源电压时,传统放大器设计方法就像穿…...
Python 直驱打印机:从字体精调到标签排版,实战避坑指南
1. 为什么选择Python直驱打印机? 很多开发者第一次听说用Python直接控制打印机时都会觉得不可思议——毕竟我们习惯了通过Word、PDF等中间软件来打印文档。但当你需要批量生成标签贴、定制化报表或者自动化打印任务时,传统方式的弊端就暴露无遗ÿ…...
无障碍辅助:OpenClaw+Qwen3-32B实现语音控制电脑
无障碍辅助:OpenClawQwen3-32B实现语音控制电脑 1. 为什么需要语音控制电脑 去年帮一位视障朋友调试电脑时,我看着他反复摸索键盘快捷键的样子突然意识到:图形界面对于视觉障碍者而言,本质上是一道数字鸿沟。虽然Windows自带讲述…...
告别纯手工!用X-AnyLabeling的SAM2模型,5分钟搞定复杂目标分割标注
5分钟解锁X-AnyLabeling的SAM2黑科技:复杂目标分割标注效率提升指南 当面对医学影像中不规则肿瘤轮廓、遥感图像中的破碎地块边界,或是工业质检场景下的缺陷区域时,传统矩形框标注就像用粉笔画框测量云朵形状——既笨拙又低效。X-AnyLabelin…...
嵌入式 AI 助手的三层意图识别架构:如何在“快、准、稳“之间取得平衡
背景 我在开发一个项目协同平台的嵌入式 AI 助手。它不是独立的 chatbot,而是嵌在业务页面里的——用户可以在首页、项目详情页、任务抽屉等不同位置唤起它,用自然语言完成任务查询、创建、删除等操作。 和通用对话 AI 不同,这个助手有两个硬…...
Python 日志神器 Loguru 超详细使用教程
前言 在 Python 开发中,日志记录是排查问题、监控程序运行的核心工具,但原生 logging 库配置繁琐、语法复杂,新手很难快速上手。Loguru 是一款极简、强大、开箱即用的第三方日志库,无需复杂配置,一行代码就能实现专业级…...
