软件重构与设计模式

软件重构是指在不改变软件功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造。简而言之,重构就是改进已经写好的软件的设计。在敏捷开发方法学中,重构常常是软件开发循环的一部分,开发者通过增加新的测试和功能,或者重构代码来改善内部的一致性和清晰性。重构也是代码维护中的一部分,既不修正错误,又不增加新的功能性,而是用于提高代码的可读性或者改变代码的结构和设计,使其在将来更容易被维护。特别是,在现有的程序的结构下,给一个程序增加一个新的行为会非常困难,因此开发人员可能先重构这部分代码,使加入新的行为变得容易。

本课程的目标是:了解实效编程、掌握面向对象的编程原则、掌握UML在设计中的应用、掌握职责分配模式的应用、掌握设计模式的应用、掌握测试驱动开发方法、掌握重构的手法以及了解如何选择和使用框架。具体事宜通知如下:

一、 培训对象

注重实效的开发人员、开发工程师、开发团队负责人等。

二、学员基础

具有项目设计、开发工作经验。

三、师资

由业界知名人士亲自授课:

姜老师:培训中心高级讲师,国家“863项目”专家,首席架构师,敏捷开发资深实践者,具有多年在第一线成功管理大型软件项目的经验,对软件项目组织具有深刻见解和实践知识。

四、培训目标

l 了解实效编程

l 掌握面向对象的编程原则

l 掌握UML在设计中的应用

l 掌握职责分配模式的应用

l 掌握设计模式的应用

l 掌握测试驱动开发方法

l 掌握重构的手法 

l 了解如何选择和使用框架

五、培训内容

本课程内容理论性与实践性都较强,采取讲课、讨论、实践三者结合的方式,形成一整套解决问题的方法。

第一部  好的设计:“球不是这么踢的”

n 让目标指导行动

n 设计已死?

n 足够好的软件

n 化整为零,个个击破

n 先实现后设计

目标:理解重构的基本思想,掌握关键的重构技巧。

    第二部分  用例驱动设计:用例与功能

n 用例场景

n 健壮性分析图

n 时序图

n 协作图

n 类图

n 包图

n 逻辑框架和层

n 模型-视图分离原则

目标:理解用例驱动设计的基本方法,掌握关键UML应用技巧。

    第三部分  领域驱动设计:何为“领域驱动设计”

n 通用语言

n 模型驱动设计

n 面向深层理解的重构

n 保持模型一致性

目标:理解领域驱动设计的基本方法,掌握关键重构技巧。

    第四部分  职责驱动设计:GRASP是什么?

n 创建者

n 信息专家

n 低耦合

n 控制器

n 高内聚

n 多态

n 纯虚构

n 间接性

n 防止变异

目标:理解职责驱动涉及的基本方法,掌握关键的重构技巧。

    第五部分  测试驱动开发:TDD

n 红色

n 绿色

n 重构

n 模式

目标:理解测试驱动开发的基本思想,掌握关键的开发技巧。

    第六部分  设计模式与变迁

n 行为型模式

n 创建型模式

n 结构型模式

目标:理解设计模式的基本内容,掌握关键的重构技巧。

    第七部分  设计原则:“重构怎么能没有原则”?

n 开闭原则

n 里氏科夫替换原则

n 单一职责原则

n 接口隔离原则

n 依赖倒置原则

n 不要重复你自己原则

n 你不需要它原则

n KISS原则行为型模式

目标:理解基本面向对象的设计原则,掌握结构优化的重构技巧。

    以上大纲仅用于罗列课程中的知识点,在实际授课时将会穿插在实际案例里,并非完全按时间顺序讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值