软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续)

这篇具有很好参考价值的文章主要介绍了软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

掌握的知识点

创建型

结构型

行为型


掌握的知识点

  • 设计模式分为哪3类

软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续),软考高级——系统架构设计师,系统架构,设计模式

 

  • 每一类包含哪些具体的设计模式

创建型

创建型模式是对对象实例化过程的抽象,他通过抽象类所定义的接口,封装了系统中对象如何创建、组合等信息

软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续),软考高级——系统架构设计师,系统架构,设计模式

 

创建型模式主要用于创建对象,做到了软件模块跟对象的创建无关联

包括的设计模式有:

  • 抽象工厂模式
  • 建造者模式
  • 工厂方法模式
  • 原型模式
  • 单例模式

结构型

结构型模式主要用于如何组装已有的类和对象,已获得更大的结构,一般借鉴封装、代理、继承等概念讲一个或者多个类进行组合、封装,已提供统一的外部视图或新的功能。

软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续),软考高级——系统架构设计师,系统架构,设计模式

 

主要负责处理类或对象之间的关系,将类和对象进行有效组织,形成良好的体系结构

主要的模式包括:

  • 适配器模式
  • 桥接模式
  • 组合模式
  • 装饰器模式
  • 外观模式
  • 享元模式
  • 代理模式

行为型

该模式主要用于对象之间的职责以及提供的服务的分配,不仅描述对象或类的模式,还描述他们之间的通信模式,特别是描述一组对等的对象怎样相互协作以完成其中任一对象都无法单独完成的任务。

软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续),软考高级——系统架构设计师,系统架构,设计模式

 

主要处理类和对象之间的交互方式,以及如何为类和对象分配职责进行描述

主要的模式包括:

  • 责任链模式
  • 命令模式
  • 解释器模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 模板方法模式
  • 访问者模式

例子:

由于传统的结构化的软件设计方法不符合面向对象的设计原则,无法很好地实现高内聚低耦合的要求,模块之间过于紧密,给软件扩展和维护带来很多困难,这种情况下设计模式的出现和广泛应用给问题的解决提供了一种有效的方法,通过利用设计模式,可帮助开发者利用已有的设计方法,设计出结构合理、易于复用和可维护的软件,当用户需求发生改变时,可通过修改少量代码或不修改原有代码即可满足新的需求,增强了系统的可修改性和稳定性,降低系统开发成本。

strategy,属行为型,定义一系列算法,把它们一个个封装起来,并且使它们之间可互相替换,从而让算法可独立于使用它的用户而变化。在监控模块的告警功能上,我们监控的各软件的前端界面上可由用户配置接收告警信息的方式,例如默认钉钉另有短信、微信、电话语音,定时任务在监控到有异常且满足发告警的情况下,后端代码会获取到用户配置的信息,根据配置信息调用指定的策略发送告警信息,具体实现是,先抽象出基类class AlarmSender,子类扩展基类class DingSender(AlarmSender)、class SMSSender(AlarmSender)等,并在子类中定义具体实现def send(self, info),假设当前有RabbitMQ告警且用户配置的是默认钉钉方式,则在发告警时的代码为先实例化mq_ins = MQInfo(info='告警内容', way=[DingSender]),way为具体的发告警的方式,再调用mq_ins.way.send(info)完成发送告警。使用这种模式我们发现,发告警的方式(即算法)可自由切换,将发告警的类名作为参数传入即可,这也是依赖抽象类设计接口的好处之一,还减少代码冗余,扩展性好,移植方便,使用灵活。

例子2:

策略模式:

在系统中,设计到住户缴费的功能,目前的线上缴费渠道有多种,如微信,支付宝,银联支付等多种。各个支付渠道的算法又不相同,起初我们用多重条件判断,涉及各个渠道支付实现的算法又包含重条件判断,这样定义后,发现代码不够简洁,也不利于维护,经过分析后,我们选择采用策略模式,首先定义了一个paystrategy接口作为抽象角色,然后定义了如alipaystrategy,wechatpaystrategy,unicompaystrategy具体角色,这些具体实现类里封装了对于支付方式的算法,并且这些类实现paystrategy了接口。定义了paycontextstartegy,该类引用了paystrateg.当web请求支付,并且带有支付方式的pay_code; controller接到请求后,使用paycontextstartegy调用具体的支付类如alipaystategy,wechatpaystategy,uniompaystrategy.通过使用策略模式,我们实现了不同方式的支付自由切换,避免了多次条件判断,利用组合代替继承,将算法的选择和算法的实现分开,降低了程序间的耦合度,具有很好的扩展型和可维护型。

例子3:

责任链模式:责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。 收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。

测试平台: 

请求---拼装公共参数(环境信息,公共配置)----替换个性化参数---替换上下文参数

软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续),软考高级——系统架构设计师,系统架构,设计模式

 参考:责任链设计模式(职责链模式)文章来源地址https://www.toymoban.com/news/detail-527375.html

到了这里,关于软考高级系统架构设计师(九) 作文模板-论设计模式及其应用(未完待续)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软考高级系统架构设计师(三) 基础知识之操作系统1进程

    目录 概要  操作系统 概述 ​编辑 进程管理 进程的状态  进程管理-PV操作 利用PV操作实现进程的同步  进程管理-前趋图  进程管理-死锁 操作系统的功能: 进程管理、存储管理、文件管理、作业管理、设备管理 操作系统的特征 并发性 共享性 虚拟性 不确定性   进程是程序

    2024年02月10日
    浏览(51)
  • 软考高级系统架构设计师系列论文七十:论信息系统的安全体系

    软考高级信息系统项目管理师系列之四十三:信息系统安全管理

    2024年02月11日
    浏览(55)
  • 软考高级系统架构设计师系列论文八十八:财务数据仓库系统的设计与实现

    近年来,数据仓库技术在信息系统的建设中得到了广泛应用,有效地为决策提供了支持。2020年6月,本人所在单位组织开发了财务管理决策系统,该系统主要是使高层领导掌握企业的经营状况及进、销、存情况,分析市场趋势。 本文通过对财务数据的分析,结合数据仓库开发

    2024年02月11日
    浏览(57)
  • 软考高级系统架构设计师(八) 基于中间件的开发&实际项目

    目录 中间件的用途 中间件技术  中间件的特点 中间件的十大优越性  企业应用集成 轻量级架构 Struts框架 spring Hibernate 实际项目举例 产品逻辑大图 gRPC的接口规范 关键中间件交互 整体架构设计 大数据素材底层处理 业务交互大图 底层数据素材加工大图 属于可复用软件的范

    2024年02月11日
    浏览(92)
  • 软考高级系统架构设计师系列论文八十三:论软件设计模式的应用

    软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构

    2024年02月11日
    浏览(67)
  • 软考高级系统架构设计师系列论文第100篇:论软件的可维护性设计

    2020年3月1日至12月20日,我参加了“数据安全访问平台”项目的开发,担任系统分析员的工作。该项目是某行业用户“数据中心二期”建设的主要内容,目标是:建立数据统一访问接口及其使用标准,规范、约束和审计数据应用访问数据库的行为,对数据应用提供强制审计的技

    2024年02月11日
    浏览(92)
  • 软考高级系统架构设计师系列论文九十七:论软件三层结构的设计

    软考高级系统架构设计师:软件架构设计系列二 随着中间件与Web技术的发展,三层或多层分布式应用体系越来越流行。在这种体系结构中,将应用功能分成表示层、功能层和数据层三部分。 本人在去年参加了一个备件流程管理项目的开发,在此项目中担任需求分析和结构设

    2024年02月11日
    浏览(79)
  • 软考高级系统架构设计师系列论文七十九:论软件产品线技术

    根据公司软件系统开发的需要,我们在软件的开发过程中引入了软件产品线技术,成立了基于软件产品线的项目组。本人有幸参加了该项目,并在其中担任软件分析与设计、软件产品线核心资源开发的工作。 在软件产品线的开发过程中,我们使用了ROSE建模工具,有效地完成

    2024年02月11日
    浏览(68)
  • 软考高级系统架构设计师系列论文七十七:论软件产品线技术

    本人在测井行业的一个国有企业软件开发部工作,从2021年初开始,我陆续参加了多个测井软件开发项目,这些项目都是测井行业资料处理解释软件,具有很强的行业特征,其开发方向和应用范围都非常相似,从“测井资料处理集成软件”项目,开始我实施了软件产品线技术,

    2024年02月11日
    浏览(77)
  • 软考高级系统架构设计师系列论文九十二:论新技术的引进

    根据国家税务总局对税务系统内所有系统进行集成与整合的需求,我所在的开发单位组织了全国金税工程防伪税控系统网络版的升级开发工作。该项目工程浩大,要求在具有严格的安全、可靠性能的基础上,将基于Dos操作系统、Foxpro数据库的原单机版防伪税控子系统集成到基

    2024年02月10日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包