软件工程vs设计模式
软件工程vs设计模式
huaqianzkh
路虽远行则将至,事虽难做则必成!
展开
-
设计模式>Singleton(单例模式)
保证一个类只有一个实例,并提供一个访问它的全局访问点。原创 2024-01-27 15:47:48 · 106 阅读 · 0 评论 -
设计模式>Builder(生成器模式)
将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示。原创 2024-01-27 15:46:22 · 44 阅读 · 0 评论 -
设计模式>Abstract Factory(抽象工厂模式)
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。原创 2024-01-27 15:44:47 · 33 阅读 · 0 评论 -
设计模式>Prototype(原型模式)
用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象。允许对象在不了解创建对象的确切类以及如何创建细节的情况下创建自定义对象。原创 2024-01-27 15:43:17 · 407 阅读 · 0 评论 -
设计模式>外观(facade)模式
若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询。针对上述需求,可以采用( A )设计模式抽象出相同的数据库访问过程,该设计模式( B )。外观(facade)模式是对象的结构模式,要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。原创 2023-12-15 17:08:12 · 58 阅读 · 0 评论 -
设计模式>代理模式
根据题干描述,该编辑器需要在文档中嵌入显示开销很大的图形对象,为了能够提高系统效率,需要避免同时创建这些图像。针对这些要求,对比候选项,可以发现代理模式可以解决直接访问对象时带来的问题,例如:要访问的对象在远程的机器上;对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问等。因此代理模式是最为合适的设计模式。某公司开发一个文档编辑器,该编辑器允许在文档中直接嵌入图形对象,但开销很大。用户在系统设计之初提出编辑器在打开文档时必须十分迅速,可以暂时不显示当前页面以外的图形。原创 2023-12-14 21:05:27 · 51 阅读 · 0 评论 -
设计模式>迭代器(Iterator)模式
迭代器模式是一种对象的行为型模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象,复杂的聚合可用多种方法来进行遍历;允许在同一个聚合上可以有多个遍历,每个迭代器保持它自己的遍历状态,因此,可以同时进行多个遍历操作。原创 2023-12-13 09:04:16 · 43 阅读 · 0 评论 -
设计模式>中介者(Mediator)模式
中介者模式是一种对象的行为型模式,通过一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就是说,系统的结构不会因为新对象的引入带来大量的修改工作。原创 2023-12-13 09:03:19 · 201 阅读 · 0 评论 -
设计模式>策略(Strategy)模式
策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的策略类。原创 2023-12-13 09:01:54 · 47 阅读 · 0 评论 -
设计模式>解释器模式
解释器模式属于类的行为型模式,描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的代码。解释器模式主要用在编译器中,在应用系统开发中很少用到。原创 2023-12-13 08:59:44 · 33 阅读 · 0 评论 -
设计模式>装饰模式
某系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类。在本题中,“现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件”,从此处可以看出需要能为构件灵活附加功能的机制,这与装饰模式的情况是吻合的。它提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活。原创 2023-12-06 22:27:39 · 91 阅读 · 0 评论 -
架构模式、设计模式和惯用法
则是实现时通过某种特定的程序设计语言来描述构件与构件之间的关系,例如引用-计数就是C++语言中的一种惯用法。是软件设计中的高层决策,例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策;软件设计中使用的架构模式、设计模式和惯用法的基本概念。主要关注软件系统的设计,与具体的实现语言无关;原创 2023-11-29 21:09:22 · 450 阅读 · 0 评论 -
软件工程>设计模式
设计模式根据目的和用途不同,可以分为三种。创建型模式主要用于创建对象,为设计类实例化新对象提供指南;结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南;行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。原创 2023-11-19 15:22:32 · 150 阅读 · 0 评论 -
设计模式>Command模式
在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是(是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式的类图如下所示。对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“Concrete Command”角色相对应的类是Open。),与“ConcreteCommand”角色相对应的类是(原创 2023-12-01 13:37:22 · 63 阅读 · 0 评论 -
设计模式>组合模式
某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(),与“Composite”角色相对应的类是(下图为组合模式的UML图例。原创 2023-12-04 15:43:05 · 108 阅读 · 0 评论