INTELCONFIDENTIAL设计模式主讲:张春祥2HUSTSoftwareCollege模式•模式描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心
通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作
----《建筑的永恒之道》Alexander•模式其实就是解决某一类问题的方法论
•把解决某类问题的方法总结归纳到理论高度,那就是模式
•模式对问题的描述以及对问题的解答应具有高度的抽象性和代表性
•模式是对现实生活某类现象的共同特质的高度抽象,描述了事务或者现象的规律,这种规律以及解决方法对于类似的现象同样有用
3HUSTSoftwareCollege软件的设计模式•指在软件设计和开发过程中,不断总结出来的,反应了某一类设计问题的解决方案
•模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果
而且会得到解决问题的最佳办法
•设计模式使人们可以更加简单方便地复用成功的设计和体系结构
•设计模式帮助你从别人的成功经验而不是你自己的失败那里学到更多东西;-------MarkJohnson•设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的重复发明
4HUSTSoftwareCollege模式概要模式只是武功套路
其实真正的内功心法是:1
针对接口编程针对接口编程2
优先使用对象组合,而不是类继承优先使用对象组合,而不是类继承3
找到并封装变化点找到并封装变化点5HUSTSoftwareCollege设计原则•面向接口编程的原则–面向接口编程,而不是面向实现编程
•可变性封装的原则–在设计时应当考虑系统中什么可能会发生变化,或者什么特性具备多变的特征
这种变化不应该散落在代码中的各个角落,而是应该被适当的封装起来,以便于维护以及扩展;•开-闭原则–软件中的