问题标签 [class-hierarchy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 生成Java类层次图的应用程序
寻找一个工具:
- 产生视觉上令人愉悦(不花哨)的正交结构图层次结构
- 输出高质量的 PNG 图像 (300dpi+)
- 在视觉上区分类、抽象类、接口和枚举类型(最好通过颜色)
- 交互式用户界面
- 允许从图中修剪包和/或单个类
- 使用一组
种子(例如File » Open ):
- 目录
- JAR 文件
- 单独的源文件
- 单独编译的类
- 对类依赖项进行全自动分析
- 搜索类路径以解决尽可能多的未满足的依赖关系
- 使用单个可执行文件
- 轻量级 (~5MB) 且快速(在平均 1.5GHz 机器上加载不到一秒)
- 很简单(点击 10 次即可生成图表)
- 快速(在几秒钟内绘制 100 个对象)
- 易于使用(最小的界面,专注于图形生成)
- 是 OSS 还是 GPL
- (可选)生成调用图层次结构
无法完成此任务的工具包括:
- Doxygen + GraphViz(或点)
- 蚀
- UML 建模器
- Java的结构分析(无法解析源文件)
- JUDE 社区(尴尬的界面,不合适的自动生成)
- 集成开发环境(太复杂,占用太多内存)
有任何想法吗?
c# - 我需要用继承实现 C# 深拷贝构造函数。有哪些图案可供选择?
我希望在 C# 中实现我的类层次结构的深拷贝
这将不起作用,因为当克隆孩子时只有一个父母是新的。在我的代码中,一些类有很大的层次结构。
推荐的方法是什么?在不调用基类的情况下克隆每个级别的所有内容似乎是错误的?这个问题必须有一些巧妙的解决方案,它们是什么?
我可以感谢大家的回答。看到一些方法真的很有趣。我认为如果有人给出一个完整的反思答案的例子会很好。+1 等待!
ruby - ruby 是否提供了一种显示层次结构调用的方法?
就是这样,我想看看继承固定类的类是什么。在 RUBY 中有这样的方法吗?
Aptana 提供了一个显示这一点的选项,但有什么方法吗?
谢谢
hierarchy - 在非父子维度中创建层次结构
我正在多维数据集中使用 AdventureWorksDW 为产品维度创建用户层次结构。我添加了 Product Key、ProductCategory Key 和 Product Subcategory Key 属性。但是,当我将鼠标指针悬停在属性窗口中的 Dim Product 上时,它总是给我一个警告“在非父子维度中创建层次结构”作为工具提示。
c# - 在运行时更改 C# 中字段的类型
我有一个现有的类层次结构,这样说:
这些类是通过反序列化实例化的。
但是,现在我需要在 Employee 中为库的特定用户公开额外的字段,即这样说:
问题是,我不能只创建一个扩展“业务”的类,因为我想要添加的是“员工”类。
正如我所看到的,我有两个选择:
使用“特殊”类复制层次结构。这意味着每个“特殊”类都将有一个原始类的集合和一个新的“特殊”类的集合。
/li>出于反序列化目的,在运行时以某种方式将 'Employee' 重新键入为 'SpecialEmployee'。知道我可以将 SpecialBusiness 中的所有“Employee”对象转换为代码库中的“SpecialEmployee”(可能使用辅助方法使其显而易见)。
关于如何处理这个问题的任何想法?
c# - 子类的单元测试
假设我们有这个超简单的类层次结构:
当我为类编写测试时,我应该为Add
方法编写测试吗?MoreMath
或者我应该只在测试课程时关心那个方法SomeMath
?更一般地说:我应该测试一个类的所有方法,还是应该只测试“新”方法?
我可以为双方想出一些理由。例如,在测试所有方法时,您最终会多次测试同一事物,这不是很好,而且可能会变得乏味。但是,如果您不测试所有方法,则更改SomeMath
可能会破坏MoreMath
? 这也将是一件坏事。我想这可能也取决于情况。就像它是否扩展了我可以控制的类。但无论如何,我是一个完全测试新手,所以我很想知道有什么人比我想的更聪明:-)
design-patterns - 我应该使用什么设计,以便一个类可以查询它的祖先之一?
我正在创建一个对象层次结构,它表示在控件上绘制的表。我的层次结构如下所示:
我想在表格上有一个选项(参数)来过滤显示的列(单元格)。客户端代码可以执行以下操作:
在控件上显示和放置单元格是 Lines 对象的职责。如何将要显示的单元格的信息从 Table 对象传递给 Line 对象?
我应该给每一行一个表对象的引用吗?每次Table.ShowColumns()
调用时,我是否应该尝试通过层次结构将信息传递给每一行?
一定有优雅的方式吗?
java - 具有类层次结构的 Spring JDBC RowMapper
我想知道社区认为关于使用 Spring JDBC 映射类层次结构的“最佳实践”。
我们没有能力使用成熟的 ORM 工具,但是我们正在使用 Spring JDBC 来减轻 JDBC 的一些繁琐性质。我们经常使用的一类是 BeanPropertyRowMapper,因为它易于使用,并且能够从我们的结果集中访问类型不敏感的 bean 属性。
我有一个类层次结构,它都映射回单个表(对这个小类层次结构采用 table-per-hiearchy 方法)。因此,该表包含一个 classId 列,可用于确定应实际实例化的类。前任。1 = 经理,2 = 员工,3 = 承包商。所有这些都是“人”,但每个人的子类都有一些属性是他们的类所独有的。
我最初的想法是创建一个 BeanPropertyRowMapper 的子类并尝试注入这个逻辑来表示“如果列 A = 1 然后实例化一个 Manager,然后进行正常绑定”。
这看起来是一种合理的方法吗?人们是否有其他对您有用的建议?
java - Java:如何编写方法来接受孩子而不强制转换为父母?
不知道如何命名这个...
所以我有三个子类Event
:WeightEvent
, TimedEvent
, RepEvent
。通过任何方式,我得到了其中一个孩子的物品。现在我想将该子事件发送到另一个对象中的方法,以便它可以使用该getSavedEvents()
方法从中提取数据。该方法仅存在于子项中,因为拉取数据是特定于事件类型的。
我从
但这会将我的子对象转换为Event
(父)对象。
有什么办法可以绕过这三种不同的方法。给孩子一个?
感谢您的任何建议。
-约翰
domain-driven-design - 领域驱动设计 - 实体 VO 和类层次结构
问题的简短版本:“是否可以有一个超类,有 2 个子类,一个是实体,另一个是值对象?”
更长的版本:T 有一个Team超类。团队有Master、Helper和Code。_ 然后我有DefaultTeam,Team的子类,它是一个具有唯一 **Code****的实体,具有其域标识。然后我有 **ExecutionTeam,它是Team的一个子类,并且有一个额外的属性OriginalTeam:
ExecutionTeam是执行任务的团队。当需要执行任务时,我们选择一个DefaultTeam来执行它。但是我们可以从DefaultTeam中更改Helpers(master 永远不会更改)。
执行任务的团队是DefaultTeam ( OriginalTeam ) 的变体,但具有仅为该任务选择的助手。
ExecutionTeam将具有与 OriginalTeam 相同的代码。所以ExecutionTeam 没有唯一的身份。如果同一个DefaultTeam执行 10 次任务,则将有 10 个ExecutionTeam具有相同的代码(具有相同的OriginalTeam)。所以ExecutionTeam不能是实体。
但是让一个实体和一个值对象共享同一个超类(都是团队)有点奇怪。也许这个领域模型有问题。
需要意见。
谢谢