1. 命令模式
将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化:对请求排队或者记录请求日志,以支持可撤销的操作。
命名模式也是把客户端和实际功能类进行解耦的一种方式,重点是 对操作进行了排队或者日志记录,以支持撤销。
把功能类的功能分解为一个个命令执行类,在客户端和功能类之间,增加一个触发接口,用来接收命令,管理命令,执行命令。
场景:顾客点菜---->服务员 记录各种 下单命名 ----->服务员下单(执行命令)---->厨师做菜
2. 职责链模式
是多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将对象沿着这条链传递该请求,知道有一个对象处理它为止。
场景:职员请假-->组长(<2day)---->经理(2--5day)---->总经理(>5day)
3. 策略模式
策略模式定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。
策略模式也是为了把类中经常变换的点抽取出来,形成算法类,而后,在原类中(context)中保持一个对这个算法接口的引用来完成对算法的应用。策略模式是用来封装算法的,但在现实中,只要能在分析过程中听到需求在不同时间用不同的业务规则,就可以考虑用策略模式。
场景:商场购物结算--->不同的活动有不同的折扣方式
4. 状态模式
当一个对象的内在状态改变时候,其相关行为也跟着改变了,当对象的状态过多的时候,我们就把这部分经常变换的地方抽象出来,形成一个状态类,封装跟状态相关的数据计算,对象的某个方法出发动作的执行,如果是跟状态相关,则调用状态类的函数执行,且状态类自动更新到下一个状态。
state 和 stratery的 关系,可以说,状态模式是完全封装且自修改的策略模式。
分享到:
相关推荐
CMIP5(Coupled Model Intercomparison Project Phase 5)是目前时间跨度最长、数据内容最丰富的气候变化模式集合之一,它的数据被广泛应用于气温、降水、径流以及海温变化等模拟能力的评估与预测。 由于CMIP5模式...
基于机器学习的华北气温多模式集合预报的订正方法.pdf
本资源“java23种设计模式集合”提供了一个全面的Java设计模式Demo大全,涵盖了面向对象设计中的核心原则和经典模式。 在Java世界里,23种设计模式被广泛接受并分为三大类:创建型模式(Creational Patterns)、...
### 基于GIS的空气质量多模式集合预报系统 #### 摘要 随着工业发展和城市化进程的加快,空气质量问题日益成为公众关注的焦点。为了有效管理和改善空气质量,研究大气污染演变规律变得尤为重要。空气质量预报是实现...
"Python中的设计模式集合"这个压缩包很可能包含了一些关于Python中常见设计模式的示例和解释。 首先,我们来探讨一下设计模式的基本类型: 1. **创建型模式**:这类模式主要关注对象的创建过程,如工厂模式...
贝叶斯多模式集合平均 BMA
Jive设计模式集合(中文) 详细的介绍jive的学习资源,想修炼code内功的就要好好研究设计模式,而jive是学习设计模式最好的例子。里面还有工具的连接向导,方便实用。如果你觉得好,给个好评!
cooking-patterns, 可以用来简化烹饪的模式集合 烹饪模式可以用来简化烹饪的模式集合。关于在烹饪中使用模式的好处,请参阅 。提交请求请求时,请确保遵循模式的分类,类似于这里菜谱查找器将菜谱分类的方法。
本研究利用WRF模式对甘肃南部的一次强降水过程进行了集合预报试验,以期提高预报的准确性和可靠性。 WRF模式是一种先进的数值天气预报模式,它能够模拟大气状态的变化过程,并提供高分辨率的天气预报信息。集合预报...
描述中提到的"用于读写模式集合"意味着这些代码可能设计用于处理数据输入和输出,其中集合可能指的是EnKF中的样本集合。"两种扰动观测分析方案"则指出该代码集包含了两种不同的策略来处理观测数据的不确定性,这是...
在Java编程语言中,集合和三层设计模式是两个非常重要的概念,对于开发高效、可维护的软件系统至关重要。本文将详细探讨这两个主题。 首先,我们来了解Java中的集合。Java集合框架是Java SE API的一个核心部分,它...
标题 "patterns:不断增长的重复使用模式集合" 暗示了这个压缩包可能包含一个设计模式库,这些模式在软件开发中被广泛应用于解决常见问题。设计模式是一种经过时间验证的、在特定上下文中有效解决方案的模板,可以被...
C#用户的设计模式集合 概括 最近,我们专注于为开源项目做出贡献或改进过于复杂的旧代码。 尽管我使用设计模式进行了改进,但我认为它需要作为一个整体进行组织,因此我编写了以下目录作为构成。 内容 生成方式 ...
在发布的快速网站的设计模式集合 该项目的目的是收集产品/用户体验/视觉设计模式,以创建快速的网站,并旨在帮助产品经理,网站设计师和前端开发人员从项目开始就计划快速的体验,或者在发现性能问题时帮助阐明改进...
序列模式分析算法GSP的实现 ...候选序列模式的支持度计算:对于给定的候选序列模式集合C,扫描序列数据库,对于其中的每一条序列d,找出集合C中被d所包含的所有候选序列模式,并增加其支持度计数。
Logstash 的 GROK 模式集合。 这些是我在学习如何使用 GROK 和 Logstash 时创建的,所以请不要把它们当作福音。 希望它们对学习创建自己的规则的人有用。 我将在不久的将来更新这些。 如果您有任何问题,请与我...
2. 混合模式集合预报思想:混合模式集合预报思想是指将多种预报模型的结果进行组合,以获取更加准确的预报结果。该思想可以解决单集合预报的固化性问题。 3. 反向传播的多层前馈训练机制:反向传播的多层前馈训练...
模式识别的方法可以从给定的模式集合中学习,然后用以识别和分类新的数据。 模式识别的原理和方法主要包括统计模式识别、神经网络方法和结构模式识别方法等。统计模式识别通常依赖于概率论和数理统计的方法,如聚类...