设计模式的概念

本文介绍了设计模式的起源,如Alexander博士的建筑设计概念,以及其在软件开发中的应用。重点讲述了Gof设计模式、类模式和对象模式的区别,以及GRASP设计原则的作用。文章强调了设计模式的优点,如经验融合、通用设计语言和提高开发效率等。
摘要由CSDN通过智能技术生成

模式的概念最早诞生于建筑业,模式之父-Alexander博士出版的《建筑设计语言》一书总结概括了253个建筑和城市规划模式,对计算机领域”设计模式“运动产生了深远的影响。

模式是特定环境下,人们解决某类重复出现问题的一套成功或有效的方案,有助于人们按照既定思路快速设计出一套优良的解决方案。

同理,设计模式就是针对软件开发中经常遇到的设计问题,根据基本的设计原则,而总结出的一套实用的解决方案。

Gof基于7个面向对象设计原则总结出了23个设计模式,旨在来统一沟通面向对象方法在分析、设计、实现方面的鸿沟。

软件模式包括:设计模式和架构模式

软件模式组成:

(1)问题描述

(2)前提条件(环境或约束条件)

(3)解法

(4)效果

软件模式遵循三大律,只有经过三个以上不同类型的系统的校验,才能从候选模式升为模式。

GRASP设计原则:它描述了对象设计和职责分配的基本原则核心思想是职责分配、用职责设计对象。它包含9个基本原则

GoF设计模式是针对特定问题而提出解决方案。GRASP设计原则是其的基础。

设计模式包含模式名称、问题、范围、目的、解决方案、效果、实例代码、末态环境、相关设计模式等10个要素,其中4个关键要素为:

(1)模式名称

(2)问题

(3)解决方案

(4)效果

根据目的,设计模式分为三类:

(1)Creational:创建型模式,创建对象

(2)Structural:结构型模式,处理类或对象的组合

(3)Behaviroal:行为型模式,描述类或对象如何交互和怎样分配职责

根据范围,分为两种:

(1)类模式处理类之间的关系,这些关系通过继承建立,在编译时刻就确定下来,是一种静态关系。

(2)对象模式处理对象间的关系,这些关系在运行时变化,具有动态性。

设计模式的优点

(1)融合专家的经验

(2)提供通用的设计词汇和语言,便于人们复用成功的设计和体系结构

(3)设计方案更加灵活且易于修改,提高开发效率和软件质量,节约成本

(4)有助于理解面向对象的思想

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值