谁能解释一下什么是内容耦合,以及它是如何在下面的代码中发生的:publicclassLine{privatePointstart,end;...publicPointgetStart(){returnstart;}publicPointgetEnd(){returnend;}} publicclassArch{privateLinebaseline;...voidslant(intnewY){PointtheEnd=baseline.getEnd();theEnd.setLocation(theEnd.getX(),newY);}}谢谢。 最佳答案
我对java中的松耦合和紧耦合有些困惑。我知道松耦合意味着彼此之间的信息最少,而紧耦合意味着依赖。我们知道松耦合可以通过接口(interface)实现和继承实现紧耦合。例如:1)A(接口(interface))2)C(类)假设这四个类是我整个应用程序的一部分,在B或D中进行更改不会对应用程序产生任何影响(从运行的角度来看)。从A或C中删除任何方法或变量需要对应用程序进行如此多的更改。好的分数是2-2,但在C或A中添加新方法是不同的。如果我在C中添加新方法不会影响应用程序,但在添加A时,至少我必须在B和所有实现接口(interface)A的类中重写此方法。所以至少在这种情况下它是如何松散
我一直在看这篇文章:DifferencebetweenlooseandtightcouplinginJava?看完之后我还是一头雾水,完全不明白。我是Java初学者。耦合在Java中的重要性是什么?为什么?在设计代码时在哪里、如何以及何时需要它? 最佳答案 紧耦合在复杂的情况下,一个类的逻辑会调用另一个类的逻辑来提供相同的服务如果发生这种情况,则两个类之间会出现所谓的紧耦合。在这种情况下,想要从第二个类调用逻辑的第一个类必须从第二个类创建一个对象示例:我们有两个类,第一个是traveller,第二个是car。Traveller类是c
大家好,我目前正在开发JavaSwing应用程序,我正在寻找一些指导。该应用程序相当小,但我注意到随着代码库越来越大,我的对象图中有很多耦合。我对Swing比较陌生,但我已经编程很长时间了,知道它的发展方向。我遇到的最大问题是设置我的事件处理。我的子窗口和对象应该如何在不引用它们的情况下将事件传递给我的更高级别的对象?我已经完成了大量的MVC网络编码。这种模式适合Swing吗?我应该建立自己的Controller吗?我想我只是在寻找人们发现对使用Swing有用的模式。预先感谢您的帮助。 最佳答案 我认为,在GUI中减少耦合的最佳方法
我在一次技术面试中被问及项目的内聚和耦合。我广泛地解释了他们的定义,尽管我没有像他说的那样正确回答问题的第二部分。“我们如何在一个项目中同时实现高内聚和松散耦合的设计,请解释一下这种方法应该如何在单体项目中实现?”我回答说这两个目标是矛盾的,所以我们需要找出每个项目或模块的最佳选择,但我无法提供全面的答案。如果有人帮助我,我将不胜感激。 最佳答案 我首先要回答的是,这与你所说的“这两个定义是矛盾的”恰恰相反。我将引用JohnW.SatzingerSystemAnalysisandDesigninaChangingWorld,KeyF
我正在尝试了解有关JUnit和TDD的更多信息,但我遇到了一些与测试用例之间的耦合有关的问题。当我为特定数据类型的API编写测试用例时,说Deque,如何限制测试用例之间的耦合?例如,如果我正在为insertFirst(Titem)方法编写测试用例,假设我应该能够在正确初始化的对象上调用方法后断言两件事似乎很简单:Deque的大小对象应该增加一个如果我随后调用相应的TremoveFirst()方法,它应该返回对我在初始调用中插入的对象的引用。但是,这会在我的至少两个测试用例之间造成不良耦合,其中一个测试用例的通过取决于另一个API方法的正确实现。例如,为了让这个测试用例通过,我需要一个
文章目录一、引言二、应用场景与技术背景三、模式定义与实现四、优缺点分析总结:一、引言中介者模式(MediatorPattern)是一种行为型设计模式,它通过引入中介者对象来简化多个对象之间的交互关系,从而使各个对象不需要显式地相互引用,降低对象之间的耦合度。这种模式通过集中化对象之间的通信,使得系统更容易理解和维护,同时也便于控制对象间的复杂交互。二、应用场景与技术背景中介者模式适用于以下场景:多个类之间存在复杂的网状交互关系,且这些交互关系随着需求变更容易变得混乱和难以管理。当系统中某个类过多依赖其他类,或者类间依赖关系发生变化时,可能需要频繁修改原有代码。例如,在多人在线游戏中,玩家角色
我正在使用JAXB绑定(bind)直接解码到我的领域层对象,这些对象是生成的网络服务类型的子类。这是一个很好的解决方案,因为我可以覆盖方法并提供编写自定义逻辑等。但是,XJC编译器坚持将@XmlSeeAlso({MySubclass.class})注释放在所有生成的类上,这导致它们与我的域对象紧密耦合。这显然是不可取的,并且会导致我的项目之间出现各种引用问题,我不会在这里讨论这些问题。是否可以生成没有@XmlSeeAlso注释的类?解码到子类的实际工作似乎发生在ObjectFactory类中。是否可以省略jaxb绑定(bind),并为每个应用程序替换自定义ObjectFactory?这
与扩展现有标记相比,将所有微数据放入正文的元标记中有什么缺点(如果有的话)?我在搜索引擎眼中的可信度会降低吗?例如,这个:10ExampleStreetBoston,MA02120而不是这个烂摊子:10ExampleStreetBoston,MA02120据我了解,它们都是有效的HTML5。 最佳答案 您给出的示例不是“扩展标记”,因为您没有引入新术语,您只是使用元标记添加标记,而不是在数据可见的地方添加标记。您正在为自己添加额外的工作,可能被视为添加了大量隐藏数据,谷歌在其文档中建议不要这样做。隐藏数据的元标记最适用于模糊数据,例
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭去年。ImprovethisquestionQ1.Whyarecallbackfunctionsused?Q2.Arecallbacksevil?Funforthosewhoknow,forothersanightmare.Q3.Anyalternativetocallback?