写这篇文章的用意是便于记忆,发布出来是为了能给一些初学者一些帮助。每个人的理解都可能会有一些偏差,如果存在误解,请多多指正。谦虚并不一定就代表不自信,人无完人,学无止境,谦虚使人进步,传递正能量。
面向对象设计模式,是描述面向对象设计过程中,特定场景下“类”与“相互通信的对象”之间的场景的组织关系。
为方便阅读,下面描述的“面向对象设计模式”,简称为“设计模式”。
为什么要使用设计模式?
不用设计模式,软件也能开发,也可以做到正常运行、性能良好。但为什么还要使用设计模式?
软件是变化多端的,不光是来自于客户的需求变更,还有技术的更新,功能的扩展,性能的提升等等。在这种情况下,如果我们没有使用设计模式,在软件变更的过程中,工作难度会越来越繁复,代码会越来越难看懂,整体(变更)越来越(困难)难维护。
学习设计模式的前提
1、面向对象编程要理解透彻。怎么理解透彻?书读百遍,其义自见。
2、想在软件开发上走的更远。
使用设计模式的优缺点分析【仅限于个人的理解】
1、使用设计模式,不一定会提高软件的性能。假如,要做一个功能单一的小软件,可能直接编写代码的效率更高。
2、不一定能能减少工作量。在软件生存周期的前期,使用设计模式,所耗工时可能会更多。
3、如果设计模式使用不当,工作量和性能会受到很大的影响。
4、使用设计模式,能更好的适应软件的变化,能将变化所带来的影响减为最小。
什么时候要用设计模式?
1、软件变更较多。
2、长期维护的产品、项目。
3、中大型软件。
4、尽量在重构的时候使用设计模式。从重构得到模式
为什么要在重构的时候使用设计模式?【仅限个人看法】
1、工作量,这是最为直观的。使用什么设计模式合适,要论证;一个开发团队,对于一种开发模式的认知肯定会有高有低,前期培训,中期的指导。现在的市场模式,对于时间的要求很高,合同要求的期限,前期投入成本,市场的争夺。
2、避免使用不合适的设计模式。没有一步到位的设计模式,前期使用了不合适的设计模式,不仅会在时间上产生影响,对后期的变化也会产生严重的影响。
3、如果软件的可预见性很高,团队很成熟,使用恰当的设计模式也并不是不可以。
软件的重点【题外话】
对内
1、外观,软件是否好看,是否让人看着舒服,这是最直观的表现。
2、交互,用户的使用是否简单方便,不容易出现误操作。
3、性能,用户使用软件是能提高工作效率的,而不是影响用户的工作效率。
对外
1、代码容易看懂,注释完整准确,命名规范。
2、整体结构易懂,相关文档齐全,使用合适的设计模式,实现低耦合,高内聚。就是同一个模块内的各个元素之间要高度紧密,但是各个模块之间的相互依存度却要不那么紧密。
3、开发环境良好,环境搭建、调试、测试方便,使用相对良好的第三方控件、插件、框架等。
原文地址:https://www.cnblogs.com/765boy/p/8978791.html