美文网首页
软件编程开发关于开发模式的类型分析

软件编程开发关于开发模式的类型分析

作者: d390347c4084 | 来源:发表于2019-02-25 11:33 被阅读30次

对于软件开发程序员来说,掌握不同的开发模式能够让我们的开发工作效率得到很大的提升,下面我们就一起来了解一下,目前互联网编程开发行业中的常见开发模式都有哪些类型。

迭代器模式

1. 定义

迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

2. 核心

在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺序访问其中的每个元素

3. 实现

JS中数组的map forEach 已经内置了迭代器

发布-订阅模式

1. 定义

也称作观察者模式,定义了对象间的一种一对多的依赖关系,当一个对象的状态发 生改变时,所有依赖于它的对象都将得到通知

2. 核心

取代对象之间硬编码的通知机制,一个对象不用再显式地调用另外一个对象的某个接口。

与传统的发布-订阅模式实现方式(将订阅者自身当成引用传入发布者)不同,在JS中通常使用注册回调函数的形式来订阅

3. 实现

JS中的事件就是的发布-订阅模式的实现

4. 优缺点

优点

一为时间上的解耦,二为对象之间的解耦。可以用在异步编程中与MV*框架中

缺点

创建订阅者本身要消耗一定的时间和内存,订阅的处理函数不一定会被执行,驻留内存有性能开销

弱化了对象之间的联系,复杂的情况下可能会导致程序难以跟踪维护和理解

命令模式

1. 定义

用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系

命令(command)指的是一个执行某些特定事情的指令

2. 核心

命令中带有execute执行、undo撤销、redo重做等相关命令方法,建议显示地指示这些方法名

3. 实现

简单的命令模式实现可以直接使用对象字面量的形式定义一个命令

组合模式

1. 定义

是用小的子对象来构建更大的 对象,而这些小的子对象本身也许是由更小 的“孙对象”构成的。

2. 核心

可以用树形结构来表示这种“部分- 整体”的层次结构。

模板方法模式

1. 定义

模板方法模式由两部分结构组成,一部分是抽象父类,二部分是具体的实现子类。

2. 核心

在抽象父类中封装子类的算法框架,它的 init方法可作为一个算法的模板,指导子类以何种顺序去执行哪些方法。

由父类分离出公共部分,要求子类重写某些父类的(易变化的)抽象方法

3. 实现

模板方法模式一般的实现方式为继承

以运动作为例子,运动有比较通用的一些处理,这部分可以抽离开来,在父类中实现。具体某项运动的特殊性则有自类来重写实现。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

相关文章

  • 软件编程开发关于开发模式的类型分析

    对于软件开发程序员来说,掌握不同的开发模式能够让我们的开发工作效率得到很大的提升,下面我们就一起来了解一下,目前互...

  • 通用软件快速开发平台对企业信息化的影响

    关于开发平台 开发平台是指以某种编程语言或者某几种编程语言为基础,开发出来的一个软件,而这软件不是一个最终的软件产...

  • 瀑布和敏捷的区别

    瀑布开发模式: 瀑布开发模式特点: 1.严格把软件项目的开发分隔成各个开发阶段:需求分析、要件定义、基本设计、详细...

  • 我的软件测试开发工程师书单

    关于编程实践 《程序员的职业修养》 《代码整洁之道》 关于架构与设计 《敏捷软件开发:原则、实践与模式》 《设计模...

  • 2018-08-09 笔记整理1

    1、软件开发:编程:三个基本要素数据类型 ...

  • 转载

    关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏...

  • 软件生命周期与开发模型

    软件开发流程: 需求收集>需求分析>需求设计(流程、原型、需求说明)>需求评审>需求确认>开发(各种开发模式)>测...

  • 设计模式的原则及UML类图

    设计模式类型 设计模式分为三种类型: 创建型模式 结构型模式 行为型模式 设计原则 软件开发的23种设计模式,就是...

  • 测试协同管理是测试效率的推动力

    瀑布式开发模式严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合...

  • 推荐技术相关书籍

    代码整洁之道 重构 敏捷软件开发 原则、模式与实践 测试驱动开发 深入理解Java虚拟机 Java并发编程实战 硝...

网友评论

      本文标题:软件编程开发关于开发模式的类型分析

      本文链接:https://www.haomeiwen.com/subject/ilvwyqtx.html