职业技能 | 软件设计之美
作者简介:
郑晔,网名dreamhead,推文科技技术VP,极客时间《10x程序员工作法》专栏作者。
郑晔曾担任火币网首席架构师、ThoughtWorks首席咨询师。作为一个沉浸在软件行业将近二十年的程序员,郑晔的人生目标是终身编程。
他热衷于探索各种程序设计语言在真实软件开发中所能发挥的威力,致力于探寻合理的软件开发方式。
课程亮点:
课程主体分为四个模块。
第一模块:课前必读
在正式开始软件设计的学习之前,我们会先梳理清楚软件设计的真正内涵与意义,与你谈谈影响软件设计的两个不可忽视的因素:分离关注点和可测试性。掌握这些内容会为你的软件设计学习之旅奠定一个良好的基础。
第二模块:了解一个软件的设计
教你一个“三步走”方法,让你无论是在新接触一个项目,或是想借鉴优秀实践的设计时,都有可以遵循的框架,快速抓到一个软件的设计精髓。同时,我们还会深入拆解三个最具代表性的开源项目,让你在案例中加深对知识的理解。
第三模块:设计一个软件
给你讲解设计一个软件时,你需要掌握的核心知识:
- 程序设计语言:横跨语言学语言,让你不再局限于某一种语言,而是根据应用场景,择其善者而从之;
- 编程范式:选择了几个最主流的编程范式,包括结构化编程、面向对象和函数式编程,帮你建立起软件设计的根基;
- 设计原则与模式:给你介绍面向对象的主流设计原则,SOLID原则。还会分享一些学习设计模式的心得,帮助你将设计模式的相关知识贯穿起来;
- 设计方法:分析DDD设计方法,这是当下完整、有效的应对复杂业务场景的设计方法,包括了从如何识别概念到如何建立模型。
第四模块:巩固篇
通过三个实战项目,分析如何设计一个程序库、如何构建一个可扩展的模型和如何对既有的项目做设计上的改进,将学到的软件知识融会贯通。
课程大纲:
- 开篇词 | 软件设计,应对需求规模的“算法”
- 软件设计到底是什么?
- 分离关注点:软件设计至关重要的第一步
- 可测试性: 一个影响软件设计的重要因素
- 三步走:如何了解一个软件的设计?
- Spring DI容器:如何分析一个软件的模型?
- Ruby on Rails:如何分析一个软件的接口?
持续更新中……
热门平台:得到2024 看理想 樊登读书2024 混沌大学2024
联系微信:11628983 或扫描下方二维码  获取资源  电子书目录  课程目录
热搜 生财有术第八期 时寒冰·2024 AI写作绘画 冯唐 李笑来 吴军 看理想 凯叔 ChatGPT 王东岳 电子书