Questions tagged «hierarchy»

12
我的客户希望在我当前的项目中获得25%的评论,如何做出反应?[关闭]
初级开发人员在这里。 我目前正在为我公司的大客户开发Web应用程序。我上个月开始的。客户希望在其每个软件项目中至少获得25%的评论。 我检查了以前的应用程序的代码,这是我的观察结果: 每个文件都以注释块开头(程序包,最后更新日期,我的公司名称和版权) 所有变量均以其名称注释 // nameOfCustomer public String nameOfCustomer 所有的getter和setter方法都被评论了 很少有用的评论 似乎开发人员只是提出了尽可能多的评论,以达到25%的门槛,无论质量和实用性如何。我的公司告诉我,“我们按照客户的要求去做”。 我没有直接与客户谈论此事。到目前为止,这是我的论点: 没用的线来读书和写字(浪费时间) 注释有时未更新(造成混淆的原因) 开发人员不太可能使用或信任真正有用的评论 您对这个问题有何建议?我应该如何处理这种情况?

5
如何为代表自身或另外两件事的事物创建数据类型
背景 这是我正在研究的实际问题:我想要一种在纸牌游戏“ 魔术:聚会”中表示纸牌的方法。游戏中的大多数卡都是外观正常的卡,但其中有些分为两部分,每部分都有自己的名称。这些分为两部分的卡的每半都被视为卡本身。因此,为清楚起见,我将Card仅指代普通卡或两部分卡的一半(换句话说,只有一个名字的东西)。 因此,我们有一个基本类型Card。这些对象的目的实际上只是为了保留卡的属性。他们自己根本不做任何事情。 interface Card { String name(); String text(); // etc } Card我称之为的两个子类PartialCard(两部分的卡的一半)和WholeCard(普通卡)。 PartialCard还有两个附加方法:PartialCard otherPart()和boolean isFirstPart()。 代表 如果我有一个牌组,它应该由WholeCards而不是Cards组成,因为a Card可能是a PartialCard,这没有任何意义。因此,我想要一个表示“物理卡”的对象,即可以表示一个WholeCard或两个PartialCards的对象。我暂时称呼这种类型Representative,并Card有方法getRepresentative()。A Representative几乎不会在其代表的卡上提供任何直接信息,而只会指向它/它们。现在,我的聪明/疯狂/愚蠢的想法(由您决定)是WholeCard继承自两个 Card和Representative。毕竟,它们是代表自己的卡片!WholeCards可以实现getRepresentative为return this;。 至于PartialCards,它们并不代表自己,但是它们的外部Representative不是Card,而是提供了访问这两个PartialCard的方法。 我认为这种类型的层次结构很有意义,但是很复杂。如果我们将Cards视为“概念卡”而将Representatives视为“物理卡”,那么,大多数卡都是!我认为您可以提出一个论点,即物理卡实际上包含概念卡,并且它们不是一回事,但我认为它们是相同的。 类型转换的必要性 因为PartialCards和WholeCards都是Cards,通常没有充分的理由将它们分开,所以我通常只使用Collection<Card>。所以有时我需要转换PartialCards才能访问它们的其他方法。现在,我正在使用此处描述的系统,因为我真的不喜欢显式强制转换。和一样Card,Representative需要将其强制转换为WholeCard或Composite,以访问Card它们所代表的实际。 所以仅作总结: 基本类型 Representative 基本类型 Card 类型WholeCard extends Card, Representative(无需访问,它代表自己) 类型PartialCard extends Card(允许访问其他部分) 类型Composite extends Representative(允许访问两个部分) 这是疯了吗?我认为这实际上很有意义,但是老实说我不确定。

3
您如何分辨是使用复合模式还是树结构,还是第三个实现?
我有两种客户端类型,即“ 观察者 ”类型和“ 主题 ”类型。它们都与组的层次结构相关联。 观察者将从不同层次中与其关联的组中接收(日历)数据。通过合并尝试收集数据的组的“父”组中的数据(每个组只能有一个父组)来计算此数据。 主题将能够在与其关联的组中创建数据(观察者将接收)。当在一个组中创建数据时,该组的所有“子级”也将拥有该数据,他们将能够为数据的特定区域制作自己的版本,但仍链接到创建的原始数据(在在我的特定实现中,原始数据将包含时间段和标题,而子组则为直接链接到其各自组的接收者指定其余数据。 但是,当主体创建数据时,必须检查所有受影响的观察者是否有与此冲突的数据,据我所知,这意味着庞大的递归功能。 因此,我认为这可以归纳为以下事实:我需要具有一个可以在其中上下移动的层次结构,并且某些地方必须能够将它们作为一个整体来对待(基本上是递归)。 另外,我不仅针对可行的解决方案。我希望找到一种相对容易理解的解决方案(至少在体系结构方面),并且足够灵活,以便将来能够轻松接收其他功能。 是否有解决此问题或类似层次结构问题的设计模式或良好实践? 编辑: 这是我的设计: “ Phoenix”类以这种方式命名,因为我还没有想到合适的名称。 但是除此之外,我需要能够为特定的观察者隐藏特定的活动,即使这些活动通过组与之相连。 有点题外话: 就我个人而言,我认为我应该可以将这个问题分解为较小的问题,但这使我无所适从。我认为这是因为它涉及多个相互不关联的递归功能,以及需要以不同方式获取信息的不同客户端类型。我真的不能把头缠住它。如果有人能指导我如何更好地封装层次结构问题,我也将很高兴收到这一消息。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.