object-oriented-analysis相关内容

这是“instanceof"的用法吗?运营商认为设计不好?

在我的一个项目中,我有两个“数据传输对象"RecordType1 和 RecordType2,它们继承自 RecordType 的抽象类. 我希望两个 RecordType 对象都在“处理"方法中由同一个 RecordProcessor 类处理.我的第一个想法是创建一个通用的流程方法,该方法委托给两个特定的流程方法,如下所示: 公共 RecordType 流程(RecordType 记录) ..

概念类图和详细类图有什么区别?

谁能简单解释一下概念类图和详细类图之间的区别? 解决方案 虽然“概念类图"表达了一个概念(领域)模型,但不清楚是什么您(或您的教授)的意思是“详细类图":它可以指(独立于语言/平台的)设计模型或实现模型 类似于 C++ 类模型或 Java 类模型. 另见我对 这个相关的问题. 概念模型和设计模型之间、设计模型和实现模型之间的一对多关系如下图所示: 作为说明从概念到设计到实 ..
发布时间:2021-09-13 20:31:58 其他开发

澄清 javascript 无法删除继承的属性.

伙计们.我正在研究对象的属性,有一件事引起了我的注意.整个文档中的这一部分说明了有关 JS 的内容. 原型属性JavaScript 对象继承其原型的属性. delete 关键字不会删除继承的属性,但如果删除原型属性,则会影响从原型继承的所有对象. 我有点迷失在这里...我知道这听起来很愚蠢,但我需要确切了解这在可能会发挥作用的流程和应用程序中意味着什么. 解决方案 del ..

识别有限的上下文

每次我思考我都知道如何识别有限的上下文,因为我意识到水域仍然很模糊。这样就可以了... 我正在开发一个包含以下功能的客户门户:客户,用户,公告,反馈,文档和报销。我们只是将漂亮的用户界面放在另一个系统的报销批准上,因此很容易看出这是我们集成的另一个BC。现在,与其他人一起,我不确定如何将它们组合在一起。所有这些都属于一个卑诗省的“门户”吗?也许还有单独的“管理”,“通信”,“文档” BC? ..

搓纹

我在php中有一个可以使用链接方法的类,但是问题是我想按某种顺序链接方法。 class Chain { public function foo(){ return $ this; } 公共功能栏(){ 返回$ this; } 公共功能some(){ return $ this; } } 因此,如果我使用此类,则可以以9种不同的方式将此方法链接起来(所有可 ..
发布时间:2020-10-21 02:04:57 PHP

如何消除对Java Bean的严格依赖

我对DIP原则有疑问。其中一项准则规定,我们不应保留对具体类的引用(如果更改,则我将必须修改所有使用该类的客户端)。因此,当我使用POJO时可以遵循什么准则?例如: 我有一个带有某些属性的Bean'Foo'(它可以表示一个Domain对象) class Foo { private字符串一; 私有字符串二; //获取器和设置器 } 多个客户实例化例如,将此 ..
发布时间:2020-10-21 02:01:25 Java开发

在C#中路由对象而不使用switch语句

我正在用c#.net 4.0编写一个软件,并且为了确保代码库在特定区域中的可扩展性,可重用性和灵活性而遇到麻烦。 我们收到的数据需要按离散的组织单位细分。随着公司的发展,这些单位将需要更改,分类,删除和添加。 无论我们如何分割数据结构,我们都会不断尝试避免遇到一系列条件语句(从100左右开始), 我们希望找到一种面向对象的方法,该方法可以使我们根据该对象的属性将其路由到不同的工作 ..

在面向对象设计中处理类型指示器的最佳方法是什么?

我们有一个商业模型,需要识别不同类型的车辆.例如,摩托车,轮船,游艇,农用设备,雪地车,重型卡车,轻型卡车,乘用车和“其他". 我认为有两种处理方法:创建一个Vehicle类,其中包含几个子类,例如船,卡车,汽车,并有一个枚举来指示实际类型.这将起作用,使您能够代表与某些通用子类共享某些通用功能的车辆.但是,它允许您使类的枚举数不匹配. 我认为处理该问题的传统方法是为每种类型都有一个单 ..
发布时间:2020-07-02 02:23:42 Java开发

将多态性浪费在申请我们在运行时确切知道类型的类时会浪费吗?

运行时多态性可用于让运行时动态加载抽象类/接口的确切具体类. (您可以以动物/狗,车辆/汽车为例) 但是,当我们知道确切的具体类@ coding-time(编译时)时,真的需要强制应用多态吗? 解决方案 在编写OO代码时,我倾向于使用分配最左侧的通用类型.这立即意味着我对您问题的回答是-不. 这里是例子: Animal x = new Dog(); ... x.move( ..

序列与通讯图(UML)

UML中的时序图和通讯(协作)图有什么区别? 解决方案 引用维基百科: 通信图与序列图显示了很多相同的信息,但是由于信息的呈现方式,其中一些比在另一幅图中更容易找到强>.通讯图显示了每个元素之间更好地交互的元素,而顺序图则显示了交互发生顺序的顺序. 本质上,协作图强调哪些对象彼此交互,而顺序图则更强调实际顺序.但是它们实际上是等效的,除了在序列图中可见的更多细节外,例如何时/由 ..
发布时间:2020-05-20 01:13:58 其他开发

具有状态和行为的对象

我一直在听对象这个词具有行为和状态,或者只是其中之一.但是区别是什么?意味着什么?如果有人可以举一个例子,我将非常感激. 解决方案 灯是一个对象. 灯中的“状态":打开和关闭. 灯中的“行为":打开和关闭. 在编程中,您在“字段"中声明状态,并在“方法"等中声明行为. 阅读和学习面向对象. ..
发布时间:2020-05-20 01:02:26 其他开发

我可以在这里申请Liskov替代原则

我有两个数据模型由以下类别表示: 1) ImagesSet - 拥有 2DImage的对象,每个 2DImage 有自己的位置(原点( 3DPoint ),x-,y-轴( 3DVector )和尺寸沿x和y轴(以像素为单位)),但相同的像素大小(例如mm),x轴和y轴之间的角度(90度) 对象具有以下方法(伪代码): AddImage(2DImage); RemoveImage ..
发布时间:2017-05-16 18:37:40 软件设计

适配器和代理模式之间的确切区别是什么?

正如我所理解的适配器和代理模式使两个不同/不同的类/对象与每个对象兼容以进行通信。而且它们都是结构模式。我得到的是,他们都是非常相似的。 有人可以解释一下他们是不同的吗? 编辑: 我经历了这个的问题。但是我宁愿在适配器和代理之间进行仔细比较。 解决方案 适配器: / em> 它允许两个不相关的界面通过不同的对象一起工作,可能扮演着相同的角色。 > 它修改原始界面。 ..

这种使用“实例”运营商认为坏设计?

在我的一个项目中,我有两个“数据传输对象”RecordType1和RecordType2继承自RecordType的抽象类。 我想要两个RecordType对象在“进程”方法中由相同的RecordProcessor类处理。我的第一个想法是创建一个通用的进程方法,代表两个具体的进程方法如下: public RecordType进程(RecordType记录){ if(record ..

Matlab中类函数的输出

我在很久以前使用类,但是我不能得到一个如何从一个函数/构造函数的函数OUTPUT。我已经看到了多个例子,但coulnd't清楚点。这里我是一个简单的例子 myFunc 输出一个数组,和类中的相同的函数,如何从一个类的函数输出。 如何从类的任何函数输出,就像一个函数? myFunc: function M = myFunc(n) [M] = []; i = 0; for i ..
发布时间:2016-11-24 11:05:59 其他开发

避免处理config.properties的Java类文件中的静态方法和变量

我正在开发一个简单的Java应用程序,我创建了一个名为Config.java的类,以处理应用程序属性,从而避免硬编码。 Config.java类不是一个静态类,我正在另一个名为Serial.java的类中创建一个Config.java类的实例。 主方法位于另一个名为App.java的类中。因此,我共有3个课程: App.java Serial.java (Config类的实例位 ..
发布时间:2016-11-23 19:06:23 Java开发

动态,静态和晚期绑定有什么区别?

我正在浏览 Objective-C中的面向对象编程指南。在动态 - >动态绑定的主题下,有三个概念: 动态绑定 延迟绑定 静态绑定 我几乎理解了动态和晚期绑定,但静态绑定困惑很多。有人可以用Objective-C或C ++中的示例解释这三个概念之间的区别吗? 注意:在将此问题标记为重复之前,问题,同时描述这三个事情。 解决方案 静态绑定:在编译时确定要引用的项目。在( ..
发布时间:2016-11-02 02:20:17 移动开发