Week002 总结

用户头像
徐培
关注
发布于: 2020 年 06 月 24 日

在第三周的学习中,主要学习了简单工厂模式、单例模式、适配器模式、模板方法模式、策略模式、组合模式以及装饰器模式的具体应用场景。

之前也看过设计模式相关的内容,但最开始的感觉就是,这些设计模式很多长得都差不多一样。后来的体会是,这些玩意大部分是对于面向对象语言里多态的灵活运用,还有些接口隔离以及运用了类创建过程中的一些特性。

上了课以后,似乎有了更深一层次的认识,其实这些设计模式并不是孤立存在的,他们的存在都是为了解决特定场景、特定上下文系统代码逐渐腐化的场景下,进行更加灵活变动的一些解决方案。虽然有些模式用到的理论相似,导致他们看起来非常相似,但解决的是不一样的问题。

单例模式:

可以用以减少对应对象频繁创建回收,提高系统性能。同时在项目中为了对对象进行统一的控制,也可以使用这个模式。该模式下的对象最好设置为无状态的。

适配器模式:

若遇到需要使用某个API,但该API与我们现有系统需要的接口并不适配的情况下,可以使用该模式。或在过往开发中写了一些比较难以与当前架构相适配的API,但又不能废弃的时候,可以用该模式。

模板方法模式:

感觉这个模式在框架开发中用的最多了,写框架的人定义好方法的执行顺序,而使用框架的人必须按规定实现框架中定义好的方法。否则出错或者不输出预期结果。感觉这个方法是很核心的一个方法。

策略模式:

之前有人调侃说:遇事不决,用策略。感觉策略模式用的也非常多,毕竟感觉多态用的6的就是它了。为我们的程序提供了更大的灵活性,让我们少写那些紧密耦合的代码,后期更好维护的同时,让我们看起来更专业。

组合模式:

记得老师好像说这个方法比迭代更加快速(不太确定),但始终还是觉得这玩意好像和迭代差不多....感觉还没学透,难道是因为组合模式相较于迭代,进行过类似于剪枝的事情?没细想太多...因为时间好像超了...

用户头像

徐培

关注

还未添加个人签名 2018.10.31 加入

还未添加个人简介

评论

发布
暂无评论
Week002 总结