设计模式简介

zdd小小菜鸟
• 阅读 282

设计模式简介

简介

设计模式(Design pattern)是重构解决方案

这点很重要,尤其是现在 B/S 一统天下的局面,过早考虑设计模式,得不偿失

设计模式(Design pattern)代表了最佳的实践,通常被面向对象的软件开发人员所采用

很多教程都说设计模式是被有经验的人使用,其实只要定义了一个类,或多或少都在使用它们,而不是有没有经验 只是有经验的人知道自己在使用设计模式,而且知道怎么做的更好

设计模式是软件开发人员在软件开发过程中面临复杂度问题的一般问题的解决方案

这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的

设计模式是复杂度解决方案,不是小程序的解决方案(就一两个类文件,用设计模式那是增加复杂度)

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结

使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性

毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样

项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因

什么是 GOF(Gang of Four)?

1994 年,`Erich` `Gamma`、`Richard` `Helm`、`Ralph` `Johnson` 和 `John` `Vlissides` 四人合著出版了一本名为 **Design Patterns – Elements of Reusable Object-Oriented Software(中文译名:设计模式 – 可复用的面向对象软件元素)** 的书

书名真的是误导人啊… 为啥不添加上重构两字

该书首次提到了软件开发中设计模式的概念

四位作者合称 **GOF(全拼 Gang of Four)**

他们所提出的设计模式主要是基于以下的面向对象设计原则

1、面向接口编程而不是对实现编程
2、优先使用对象组合而不是继承

设计模式的使用

设计模式在软件开发中的两个主要用途

1、开发人员的共同平台

设计模式提供了一个标准的术语系统,且具体到特定的情景

例如,单例设计模式意味着使用单个对象,这样所有熟悉单例设计模式的开发人员都能使用单个对象,并且可以通过这种方式告诉对方,程序使用的是单例模式

2、最佳的实践

设计模式已经经历了很长一段时间的发展,它们提供了软件开发过程中面临的一般问题的最佳解决方案

学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计
点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
java面试题之
1.什么是mvc?1.1原始比较初级的设计模式:!(https://oscimg.oschina.net/oscnet/8e5a2a404897fac1a88286924f4dae0d308.png)1.2MVC设计模式!(https://oscimg.oschina.net/oscn
亚瑟 亚瑟
3年前
说说设计模式
设计模式设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总
Wesley13 Wesley13
2年前
java24种设计模式
一、设计模式定义  设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。二、设计模式分类  经典模式只有23个(还有简单工厂模式),它们各具特色,每个模式都为某一个可重复的设计问题提供了一套解决方案。  根据它们的用
zdd小小菜鸟 zdd小小菜鸟
1年前
设计模式四大类型
设计模式四大类型重点!重点!重点!设计模式(Designpattern)是重构解决方案根据书DesignPatterns–ElementsofReusableObjectOrientedSoftware(中文
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
23种设计模式(1):单例模式
定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:!23种设计模式(1):单例模式第1张|快课网(http://static.oschina.net/uploads/img/201407/05200605_0dij.gif"23种设计模式(1):单例模式
Wesley13 Wesley13
2年前
00_设计模式之语言选择
设计模式之语言选择设计模式简介背景设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的
Wesley13 Wesley13
2年前
InfoQ 趋势报告:架构和设计领域技术演变详解
https://www.infoq.cn/article/R7lWXd0R4VFf3E0bB\38本文概述了我们对当前“架构和设计”领域的看法,这个领域侧重于基础设施模式、技术框架模式的实现,以及软件架构师必须掌握的设计流程和技能。关键要点:我们看到了“演化式架构”设计需求的增长,这种架构建立在可替换性设计和关注“胶水”
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_