law-of-demeter

    0热度

    2回答

    保留得墨忒耳定律如果我有对象的ArrayList那么任何时候,我需要调用任何方法ArrayList的成员上我需要做的是这样的: list.get(i).doSomething(); 这看起来很像德米特违规法。我看不到任何解决这个问题的方法。这是好的,还是我应该重新考虑如何做这样的事情。 ArrayList是一个定义为忽略Demeter法则的对象吗?

    16热度

    1回答

    此问题是后续for this。 假设我有一些Foo类。 class Foo { protected String x = "x"; public String getX() { return x; } } 我有一个使用Foo和违反毁灭之王(Law of Demeter)的程序。 class Bar { protected Foo foo;

    1热度

    1回答

    这个游戏的源代码是开源的,所以我决定去看看。在这里面,我觉得是这样的: // This ActionManager is basically a controller like in the MVC pattern. void ActionManager::HandleQueryMessage(csString xml, Client* client) { //check the t

    0热度

    1回答

    class Point { private $x, $y; public __construction ($x, $y) { $this->x = $x; $this->y = $y; } public function getX() { return $this->x; }

    1热度

    1回答

    我有有有一个User_profile一个用户模型中的Rails应用程序。当我想显示一个页面上的多个用户,我使用一个循环的轨道,如: <% @users.each do |user| %> <%= user.user_profile.city %> <% end %> 这都说明居住的用户的城市。然而,这并不遵循迪米特法则(左右詹金斯建立在我的到位桶告诉我)。我可以让我的用户模型中的城

    0热度

    2回答

    让我们假设我有这样一段代码: function drawToCanvas() { const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); context.rect(10, 10, 100, 100); context.fill();

    0热度

    2回答

    我一直在构建RTS以提高Java技能。我一直在阅读很多关于德米特法,因为我想保持我的代码清洁,但我仍然很困惑!目前,我有一些像这样的代码,在视图中显示有多少有一定的船舶中有选择的星球上的舰队: int numberOfFrigates = model.getSelectedPlanet().getFleet().getNumberOfFrigates(); ,从我的理解违背迪米特法则。如果我只

    1热度

    1回答

    Law of Demeter(LOD)阻止了长链调用。它表示仅对类中直接构成的对象或方法内创建的对象调用方法,将对象作为方法中的参数传递。如果B b;是类别A和B中的字段具有类型C,(C c;)的字段,则在A.java内部,其不好的做法是调用b.c.performOperation();。 根据我的理解,我们应该在每个类中做一些小的方法,在他们内部的字段上进行操作,而不是外部世界提取字段并调用方法

    4热度

    3回答

    我有以下方法: private boolean reserveSeat(int selectedRow, int selectedSeat) { if (show.getRows().get(selectedRow).getSeats().get(selectedSeat).getReservationStatus()) { return false; } else

    4热度

    3回答

    一个很简单的一点: class Point { private $x, $y; public function __constructor($x, $y) { $this->x = $x; $this->y = $y; } public function getX() { return $this