设计模式以前言

序言编程

在IT圈子的朋友应该有这样的体会:构建一个优秀的系统最困难之处不在于编码(coding),而是在早期作出的设计(design)上的决定。设计是软件开发生命周期中的关键阶段,好的设计能产生好的产品,而不当的设计则会影响最终产品的质量。一个软件设计的优劣,每每越到后期拓展越能体现出差别。设计模式

再说一个我周边一个比较广泛的现象:
        开发人员在入行初期,拿到需求以后,大刀阔斧直接开始上手coding,而后就被反反复复的产品大大折磨的不要不要的。
        开发人员在入行中期,有了开始被产品大大折磨的阴影,你们在拿到需求以后都学聪明了,开始下意识的从产品的角度出发,思考软件在不一样的业务场景下怎么样才能“偷懒”少改点代码。
        开发人员入行久了以后,对“偷懒”这个词都有了本身的看法,会主动的去思考设计是什么?怎么才能设计一个更优的软件?怎么才能让本身“少动手”?
        上面就是咱们主观或者下意识的对设计模式进行运用。那么咱们来一块儿详细的研究下设计模式究竟是什么,它是如何帮咱们“偷懒”的。markdown

软件设计模式的概念

软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、通过分类编目的、代码设计经验的总结。它描述了在软件设计过程当中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具备必定的广泛性,能够反复使用。其目的是为了提升代码的可重用性、代码的可读性和代码的可靠性。ide

设计模式的做用及意义

设计模式的本质是面向对象设计原则的实际运用,是对对象的封装性、继承性和多态性,以及类之间的关联和组合关系的高度抽象。正确使用设计模式具备如下优势:
1)重用设计和代码,重用设计比重用代码更有意义,设计的重用自动带来代码重用学习

2)提升扩展性,大量使用面向接口编程,预留扩展插槽,新的功能或特性很容易加入到系统中来编码

3)提升灵活性,经过组合提升灵活性,可容许代码修改平稳发生,对一处修改不会波及到其余模块atom

4) 提升开发效率 ,正确使用设计模式,能够节省大量的时间设计

设计模式的要素

软件设计模式令人们能够更加简单方便地复用成功的设计和体系结构,它一般包含如下要素:模式名称、别名、动机、问题、解决方案、效果、结构、模式角色、合做关系、实现方法、适用性、已知应用、例程、模式扩展和相关模式等。能够看到,加起来林林总总十几个,为了便于理解与学习,我总结出4大要素,简称4W要素:对象

1.who:

        指软件的用户群体,设计时定位软件服务用户群体,从服务用户群体的角度进行设计。继承

2.when

        指使用软件的用户的使用习惯,会在何时使用,依此进行软件设计。例如:考勤软件在上下班时是使用高峰,剩余时间则几乎无人使用,软件根据高低峰对资源进行动态分配设计。

3.where

        指软件的使用场景,思考用户会在哪些应用场景须要用到本软件,根据丰富的使用场景进行抽象设计

4.what

        指软件的用途,设计要了解用户用软件都是用来作什么,依据现实进行设计,毕竟脱离现实的设计都是耍流氓。

总结起来就是一句话:什么人在什么时间什么地点用来作什么

设计模式的大纲就介绍到着,下一篇文章咱们继续聊一聊设计模式的七大原则

相关文章
相关标签/搜索