软件设计之美
多一点设计,少一点问题
郑晔  开源项目 Moco 作者
专栏
已完结·共 42 讲
|
2.0w 人已学
|
收藏
了解一个软件的设计可以从三个部分着手:模型、接口和实现
来自:04 | 三步走:如何了解一个软件的设计?
9 人划过
第三步就是找出与事件和命令相关的实体或聚合
来自:27 | 领域驱动设计:如何从零开始设计一个软件?
7 人划过
我们再来看纯函数。编写纯函数的重点是,不修改任何字段,也不调用修改字段内容的方法。因为在实际的工作中,我们使用的大多数都是传统的程序设计语言,而不是严格的函数式编程语言,不是所有用到的量都是值。所以,站在实用性的角度,如果要使用变量,就使用局部变量。
来自:19 | 函数式编程之不变性:怎样保证我的代码不会被别人破坏?
6 人划过
理解了 DIP,再来看一些关于依赖的讨论,我们也可以看到不同的角度。比如,循环依赖,有人会说从技术上要如何解决它,但实际上,循环依赖就是设计没有做好的结果,把依赖关系弄错了,才可能会出现循环依赖,先把设计做对,把该有的接口提取出来,依赖就不会循环了。
来自:24 | 依赖倒置原则:高层代码和底层代码,到底谁该依赖谁?
6 人划过
如果我把这段代码重写一遍,我该怎么做
来自:结束语|那些没讲的事儿
5 人划过
当你纠结于技术时,先想想自己是不是解错了问题。
来自:29 | 战术设计:如何像写故事一样找出模型?
5 人划过
防腐层是最具防御性的一种关系,简言之,就是指我们要在外部模型和内部模型之间建立起一个翻译层,将外部模型转化为内部模型。
来自:28 | 战略设计:如何划分系统的模块?
5 人划过
很多产品经理以为很重要的功能实际上是没什么用的
来自:26 | 简单设计:难道一开始就要把设计做复杂吗?
5 人划过
在真实的项目中,你可能很难一眼就看出当前场景是否适合使用某个模式,更实际的做法就是这样遵循着设计原则一点点去调整代码
来自:25 | 设计模式:每一种都是一个特定问题的解决方案
4 人划过
通常是先有程序库,再有语法;如果语法不够好,新的程序库就会出现,新一轮的编程模型就开始孵化。
来自:09 | 语言的接口:语法和程序库,软件设计的发力点
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

郑晔

开源项目 Moco 作者

郑晔,网名 dreamhead,极客时间《10x 程序员工作法》《软件设计之美》《代码之丑》《程序员的测试课》专栏作者,学习人数 11w+。   他是一位有着 20 多年研发经验的技术老兵,Oracle Duke 选择奖获奖作品 Moco 的作者,曾担任火币网首席架构师、T...查看更多
编辑推荐
讲师的其他课程
10x 程序员工作法
郑晔
开源项目 Moco 作者

63讲 | 53443 人已学习

¥68¥199
代码之丑
郑晔
开源项目 Moco 作者

24讲 | 19847 人已学习

¥59¥99
程序员的测试课
郑晔
开源项目 Moco 作者

23讲 | 18914 人已学习

¥59¥99
包含这门课的学习路径

后端工程师

27门课程 184.1w人学习
看过的人还看了
设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者

113讲 | 123484 人已学习

¥98¥299
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283825 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 181019 人已学习

¥98¥399
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224956 人已学习

¥68¥199
从 0 开始学架构
李运华
网名“华仔”,前阿里资深技术专家(P9)

66讲 | 152645 人已学习

¥68¥199
趣谈网络协议
刘超
前网易研究院云计算技术部首席架构师

51讲 | 130465 人已学习

¥68¥199