麦思博软件技术有限公司举办《姜志辉培训公开课:设计匠艺实战精要(2017年6月 北京站)》

2017年6月24日 8:00 至 2017年6月25日 18:00 ,麦思博软件技术有限公司在 北京举办《姜志辉培训公开课:设计匠艺实战精要(2017年6月 北京站)》。

课程介绍


姜志辉培训公开课:设计匠艺实战精要(2017年6月 北京站)

姜志辉培训公开课:设计匠艺实战精要(2017年6月 北京站)宣传图


设计匠艺对每一位软件开发人员都应该掌握的核心技能和技术进行了深入的探讨,总结出了大量的最佳实践,提供了一整套最精炼的技术集合,通过接近于“近身肉搏”的方式“手把手”传递,可以帮助开发者在开发中变得游刃有余,极大地提高开发效率和软件质量。


如Frederick P.Brooks,Jr.所说,我们可以将设计分为结果、过程和手法三个部分。

以我个人的经历而言,软件的设计结果可以总结为三个词:角色、职责、协作。设计的手法同样可以总结为三个词:抽象、封装、多态。主流的设计过程则可以总结为三个方法:UDD、TDD、DDD。

作为入行15年的总结,这大概就是我对于设计了解的全部了。


用例驱动开发(UDD)

基于UML的体验式设计

验收测试驱动开发(ATDD)

测试驱动开发(TDD)

领域驱动设计(DDD)

掌握CleanCode的核心原则与实现方法

熟练使用结对编程、单元测试、重构与设计模式的良性闭环

对模式的了解更加深入


2天

麦思博软件技术有限公司

麦思博(msup)有限公司发源美国西雅图,2007年创办,是一家面向技术型组织的培训咨询机构,服务于技术团队的技能提升、软件工程的实际应用和产品品质的创新与超越。强调人员、技术、流程和管理的有机结合,注重角色岗位的技能提升与职业发展,以及技术团队复合管理与协作。每年超过1000家企业续单参与msup旗下公开课、工作坊、案例研究、国际游学等培训项目。

课程大纲


主题

内容

设计三要素

1.设计的过程
2.设计的手法
3.设计的结果

设计知识体系图

1.道(设计的世界观)
2.法(原则)
a) ISOLD原则(Single Responsibility原则,Open Closed原则,Liskov Substitution原则,Interface Segregation原则,Dependency Inversion原则)
b) DRY原则
c) GRASP原则
d) …
3.术(模式与方法)
a) 模式(架构模式、分析模式、设计模式、实现模式)
b) 方法:TDD、UDD、DDD、FDD、BDD…
4.器(实践与工具)
a) 实践(Pair Programming、Unit Test、Refactor…)
b) 工具(XUnit、Mock、Git、Maven、Jenkins…)

各种设计风格

1.散弹式设计
2.撞大运式设计
3.防御式设计
4.屠宰式设计

用例驱动设计

1.UML统一建模语?言
2.UP与OOAD
3.用例与场景
4.ICONIX方法
5.6个W
6.设计其实可以很简单
7.可视化设计画布
8.用例与场景
9.一起设计
10.角色、职责、协作

行为驱动设计

1.学会讲故事
2.活的文档
3.用正确的方法做正确的事
4.可运行的用户故事
5.正确的格式
6.基于文本的自动化
7.使用ATDD满足客户需求
8.演化出文档系统

测试驱动设计

1.分离领域
2.一个团队,一种语言
3.模型属于领域层
4.领域对象的?生命周期
5.领域设计模式
6.保持可视
7.角色、职责、协作

设计的三个结果

1.角色
2.职责
3.协作

职责

1.职责是核心
2.职责的抽象
3.职责的封装
4.职责的粒度
5.职责分类

角色与职责

1.GRASP
2.信息专家
3.构造者
4.服务提供者
5.协调者
6.控制器

角色的表现形式

1.函数
2.对象
3.类
4.包
5.子系统
6.构件

协作

1.协作的表现形式
2.由协作决定的职责
3.协作与角色划分

设计的附产品

1.经验的总结:模式
2.方法的沉淀:OOAD方法

设计的三种手法

1.抽象
2.封装
3.多态

抽象

1.职责的抽象
2.识别变化点
3.关注点分离

封装

1.封装不那么简单
2.封装职责
3.封装的层次
4.三种封装手法

多态

1.依赖解耦
2.组合还是多态
3.多态的示例:行为型模式

解构模式

1.创建型模式的抽离
2.行为型模式中的封装与多态
3.结构型模式与协作

设计的原本

设计的原本

讲师介绍


姜志辉培训公开课:设计匠艺实战精要(2017年6月 北京站)

麦思博

独立咨询师

麦思博(msup)有限公司顾问团队成员。2005年IBM开发者大会最佳讲师、最佳讲义 获得者;2007年度开源项目之一AgileUML的主架设计师。更重要的是他是一位快乐的实用主义程序员。虽然他热衷于软件开发技术与敏捷开发实践。但 是能真正吸引他的是程序与使用者交流和沟通的能力。Jobs是实用开发的“永久消费者”,几乎在任何地方,都可以找到软件开发哲学的灵感。
当不沉浸在编程之乐时,他喜欢在DotA世界里充当一名战队的组织者,在那里,人们叫他Rails!

课程费用


课程费用:5800元/人

相关领域
商业