b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Java 23设计模式(2)

电脑杂谈  发布时间:2020-03-24 00:20:06  来源:网络整理

同时,状态模式是将与状态相关的所有行为放入一个类中,您可以轻松地添加新状态. 您只需更改对象的状态即可更改对象的行为. 但是,这将导致系统的结构和实现更加复杂. 如果使用不当,程序的结构和代码将变得混乱,不利于维护.

状态模式包括以下角色:

上下文: 环境类

状态: 抽象状态类

ConcreteState: 具体的状态类

17. 观察者模式

什么是观察者模式?观察者模式定义了对象之间的一对多依赖关系. 这样,当对象更改状态时,将通知其所有依赖项并自动更新.

在这里,更改的对象称为观察对象,而通知的对象称为观察者. 一个观察对象可以对应于多个观察者,并且这些观察者彼此不相关,因此您可以根据需要添加和删除观察者,从而使系统更易于扩展. 因此,观察者提供了一种对象设计,可以使主体和观察者以松散耦合的方式组合在一起.

vc知识库c++设计模式_c语言编程软件vc_c语言和c++和vc

观察者模式包括以下角色:

主题: 目标

ConcreteSubject: 特定目标

观察者: 观察者

ConcreteObserver: 特定的观察者

18. 备忘录模式

每个人都想要的遗憾药,但事实是残酷的,没有可以购买的遗憾药,不仅如此,软件世界中还存在遗憾药!备忘录模式是一种遗憾医学,它为我们的软件提供了一种遗憾医学机制,通过它可以将系统还原到特定的历史状态.

所谓的备忘模式是在不破坏封装的情况下捕获对象的内部状态vc知识库c++设计模式,并将此状态保存在对象外部,以便将来可以将对象恢复为原始保存状态. 它实现了信息的封装,因此客户无需关心状态保存的细节. 保存会消耗资源,因此备注模型的缺点是会消耗资源. 如果一个类的成员变量太多,将不可避免地占用相对大量的资源,并且每次保存都将消耗一定数量的内存.

备忘录模式包括以下角色:

发起人: 发起人

Memento: 备忘录

看守者: 领袖

19. 中介模式

每个人都经历过租房的经历!在这个过程中,中介结构起着非常重要的作用,它在这里起着中介的作用,将信息传递给我们和房主. 在软件的外部世界中也需要这样的中间人. 在我们的系统中,对象之间有时存在强大而复杂的关联. 如果它们之间存在直接连接,则整个系统将非常复杂且可扩展. 可怕!我们早先知道,如果不需要两个类相互通信,我们就不应让它们具有直接关系. 如果确实需要沟通,我们可以通过第三方转发他们的请求. 同样,这里我们使用中介机构来解决此问题.

所谓的中介模式是使用中介对象来封装一系列对象交互. 中介使对象不需要显式地相互引用,从而使它们松散地耦合在一起,并且它们可以独立地更改它们之间的交互. 在中介模型中,中介对象用于封装对象之间的关系. 每个对象都可以彼此通信,而无需通过中间对象知道特定信息. 它减少了对象之间的相互关系,提供了系统可重用性,并简化了系统的结构.

在中介模型中,各个对象不需要彼此了解. 他们只需要知道中介对象,但是中介对象必须知道所有对象及其关系. 正因为如此. 结果,中介对象的结构太复杂,承担了太多的责任. 同时,它也是整个系统的核心. 如果有问题,将在整个系统中引起问题. 因此,如果系统设计过程中存在“多对多”的复杂关系组,请不要急于使用中介模型,而要仔细考虑所设计的系统是否存在问题.

介体: 抽象介体

ConcreteMediator: 特定介体

同事: 抽象的同事班

ConcreteColleague: 特定的同事班级

20. 迭代器模式

我们在编程过程中经常使用迭代. 它可以遍历聚合中的每个元素,还可以提供各种不同的遍历方法. 这是迭代器模式的设计动机. 在我们实际的开发过程中,我们可能需要根据不同的需求以不同的方式遍历整个对象,但是我们不想使用各种不同的遍历操作来充斥聚合对象的抽象接口,因此我们希望有一些东西可以以多种不同的方式对聚合对象进行迭代,然后出现了迭代器模式.

什么是迭代器模式?所谓的迭代器模式是提供一种顺序访问聚合对象中每个元素的方法,而不是公开其内部表示. 迭代器模式是将迭代元素的职责委托给迭代器,而不是聚合对象. 我们甚至不需要知道聚合对象的内部结构就可以实现聚合对象的迭代.

使用迭代器模式,可以简化聚合对象的结构. 它不需要专注于其元素的遍历. 它只需要关注应该关注的内容,这更符合单一责任原则.

迭代器模式包含以下角色:

迭代器: 抽象迭代器

ConcreteIterator: 具体的迭代器

聚合: 抽象聚合类

ConcreteAggregate: 具体的聚合类

21. 解释器模式

所谓的解释器模式是定义一种语言的语法,并构建一个解释器以解释该语言的句子. 解释器模式描述了如何构造简单的语言解释器,该语言解释器主要用于使用面向对象的语言开发的编译器中. 它描述了如何为一种简单的语言定义语法,如何用该语言表示一个句子以及如何解释这些句子.

解释器模式包含以下角色:

AbstractExpression: 抽象表达

TerminalExpression: 终端表达式

NonterminalExpression: 非末端表达

上下文: 环境类

客户端: 客户端类

22. 命令模式

23.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-150052-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 刘海蟾
      刘海蟾

      睁一个眼闭一个眼

    • 拉撒
      拉撒

      臭美国鬼子压根就没想过要帮伊拉克

    • 中村悠一
      中村悠一

      家电使用20年还杠杠的只能说明设计过度

    热点图片
    拼命载入中...