大师兄
后端开发
spark性能调优实战
架构师
设计模式之美
架构实战案例解析
许式伟的架构课
说透中台
oauth2.0实战课
从0开始学架构
即时消息技术剖析与实战
如何设计一个秒杀系统
如何落地业务建模
性能优化高手课
性能工程高手课
手把手带你搭建秒杀系统
技术与商业案例解读
推荐系统三十六式
检索技术核心20讲
软件设计之美
高并发系统设计40问
高楼的性能工程实战课
大师兄
后端开发
spark性能调优实战
架构师
设计模式之美
架构实战案例解析
许式伟的架构课
说透中台
oauth2.0实战课
从0开始学架构
即时消息技术剖析与实战
如何设计一个秒杀系统
如何落地业务建模
性能优化高手课
性能工程高手课
手把手带你搭建秒杀系统
技术与商业案例解读
推荐系统三十六式
检索技术核心20讲
软件设计之美
高并发系统设计40问
高楼的性能工程实战课
软件设计之美
01.开篇词
开篇词 | 软件设计,应对需求规模的“算法”
02.课前必读
01 | 软件设计到底是什么?
02 | 分离关注点:软件设计至关重要的第一步
03 | 可测试性: 一个影响软件设计的重要因素
03.了解一个软件的设计
04 | 三步走:如何了解一个软件的设计?
05 | Spring DI容器:如何分析一个软件的模型?
06 | Ruby on Rails:如何分析一个软件的接口?
07 | Kafka:如何分析一个软件的实现?
04.设计一个软件—程序设计语言
08 | 语言的模型:如何打破单一语言局限,让设计更好地落地?
09 | 语言的接口:语法和程序库,软件设计的发力点
10 | 语言的实现:运行时,软件设计的地基
11 | DSL:你也可以设计一门自己的语言
加餐 | 再八卦几门语言!
05.设计一个软件—编程范式
12 | 编程范式:明明写的是Java,为什么被人说成了C代码?
13 | 结构化编程:为什么做设计时仅有结构化编程是不够的?
14 | 面向对象之封装:怎样的封装才算是高内聚?
15 | 面向对象之继承:继承是代码复用的合理方式吗?
16 | 面向对象之多态:为什么“稀疏平常”的多态,是软件设计的大杀器?
17 | 函数式编程:不用函数式编程语言,怎么写函数式的程序?
18 | 函数式编程之组合性:函数式编程为什么如此吸引人?
19 | 函数式编程之不变性:怎样保证我的代码不会被别人破坏?
加餐 | 函数式编程拾遗
06.设计一个软件—设计原则与模式
20 | 单一职责原则:你的模块到底为谁负责?
21 | 开放封闭原则:不改代码怎么写新功能?
22 | Liskov替换原则:用了继承,子类就设计对了吗?
23 | 接口隔离原则:接口里的方法,你都用得到吗?
24 | 依赖倒置原则:高层代码和底层代码,到底谁该依赖谁?
25 | 设计模式:每一种都是一个特定问题的解决方案
26 | 简单设计:难道一开始就要把设计做复杂吗?
07.设计一个软件—设计方法
27 | 领域驱动设计:如何从零开始设计一个软件?
28 | 战略设计:如何划分系统的模块?
29 | 战术设计:如何像写故事一样找出模型?
08.巩固篇
30 | 程序库的设计:Moco是如何解决集成问题的?
31 | 应用的设计:如何设计一个数据采集平台?
32 | 应用的改进:如何改进我们的软件设计?
09.结束语
结束语|那些没讲的事儿
结课测试|这些软件设计的知识你都掌握了吗?
第三季回归 | 我们一起来写好代码!
第四季回归 | 通向高质量代码之路
软件设计之美
软件设计之美
01.开篇词
开篇词 | 软件设计,应对需求规模的“算法”
02.课前必读
01 | 软件设计到底是什么?
02 | 分离关注点:软件设计至关重要的第一步
03 | 可测试性: 一个影响软件设计的重要因素
03.了解一个软件的设计
04 | 三步走:如何了解一个软件的设计?
05 | Spring DI容器:如何分析一个软件的模型?
06 | Ruby on Rails:如何分析一个软件的接口?
07 | Kafka:如何分析一个软件的实现?
04.设计一个软件—程序设计语言
08 | 语言的模型:如何打破单一语言局限,让设计更好地落地?
09 | 语言的接口:语法和程序库,软件设计的发力点
10 | 语言的实现:运行时,软件设计的地基
11 | DSL:你也可以设计一门自己的语言
加餐 | 再八卦几门语言!
05.设计一个软件—编程范式
12 | 编程范式:明明写的是Java,为什么被人说成了C代码?
13 | 结构化编程:为什么做设计时仅有结构化编程是不够的?
14 | 面向对象之封装:怎样的封装才算是高内聚?
15 | 面向对象之继承:继承是代码复用的合理方式吗?
16 | 面向对象之多态:为什么“稀疏平常”的多态,是软件设计的大杀器?
17 | 函数式编程:不用函数式编程语言,怎么写函数式的程序?
18 | 函数式编程之组合性:函数式编程为什么如此吸引人?
19 | 函数式编程之不变性:怎样保证我的代码不会被别人破坏?
加餐 | 函数式编程拾遗
06.设计一个软件—设计原则与模式
20 | 单一职责原则:你的模块到底为谁负责?
21 | 开放封闭原则:不改代码怎么写新功能?
22 | Liskov替换原则:用了继承,子类就设计对了吗?
23 | 接口隔离原则:接口里的方法,你都用得到吗?
24 | 依赖倒置原则:高层代码和底层代码,到底谁该依赖谁?
25 | 设计模式:每一种都是一个特定问题的解决方案
26 | 简单设计:难道一开始就要把设计做复杂吗?
07.设计一个软件—设计方法
27 | 领域驱动设计:如何从零开始设计一个软件?
28 | 战略设计:如何划分系统的模块?
29 | 战术设计:如何像写故事一样找出模型?
08.巩固篇
30 | 程序库的设计:Moco是如何解决集成问题的?
31 | 应用的设计:如何设计一个数据采集平台?
32 | 应用的改进:如何改进我们的软件设计?
09.结束语
结束语|那些没讲的事儿
结课测试|这些软件设计的知识你都掌握了吗?
第三季回归 | 我们一起来写好代码!
第四季回归 | 通向高质量代码之路