Questions tagged [law-of-demeter]
The law-of-demeter tag has no usage guidance.
13
questions
35
votes
1
answer
8k
views
Is this a good scenario to violate the Law of Demeter?
I have this code in some part of an application:
long sum1 = new Multiples().ofAny(new long[] { 3, 5 }).until(32768).sum();
long sum2 = new Multiples().ofAll(new long[] { 3, 5 }).until(32768).sum();
...
29
votes
4
answers
4k
views
Law of Demeter and over-wide interfaces
The Law of Demeter makes sense in some obvious cases.
# better
dog.walk()
# worse
dog.legs().front().left().move()
dog.legs().back().right().move()
# etc.
But in other cases it seems to lead to an ...
14
votes
5
answers
4k
views
According to Demeter's law, is a class allowed to return one of its members?
I have three questions concerning Demeter's law.
Apart from classes which were specifically appointed to return objects - such as factory and builder classes - is it okay for a method to return an ...
7
votes
3
answers
1k
views
Does this violate the Law of Demeter?
Let's say I have a class SelectableEntity<T extends Entity> which has three methods, select, deselect, isSelected and count.
To take a somewhat contrived example, let's say I'm building an ...
4
votes
1
answer
442
views
Dealing with a large interface
I'm working on a program that solves a certain type of systems of equations. The main data objects are Equation, Variable, Solution. Then I have this interface, which represents all things that I want ...
4
votes
1
answer
378
views
What does the Law of Demeter have to do with Demeter?
Is there a story from Greek mythology about the goddess Demeter that somehow motivates the Law of Demeter? If so, I'd love to know it so I can tell it to my students when I teach this topic.
4
votes
6
answers
1k
views
How to deal with Law of Demeter in the product - owner relationship?
I want to display the product, and the product card has a lot of information about the product and the owner. How to deal with Law of Demeter in this product - owner relationship?
In controller I ...
3
votes
2
answers
1k
views
Demeter's law vs method chaining: when to use which?
Given this code from the Symfony framework:
use Symfony\Component\HttpFoundation\Request;
public function indexAction(Request $request)
{
$request->isXmlHttpRequest(); // is it an Ajax ...
2
votes
2
answers
1k
views
Law of Demeter and its applicability
Let's say I'd like to perform the following command:
house.getFloor(0).getWall(WEST).getDoor().getDoorknob();
To avoid a NullPointerException, I'd have to do the following if:
if (house != ...
2
votes
4
answers
791
views
Is using getter method violating the law of Demeter?
Suppose I have a Attendance class
public class Attendance {
private PersonInfo personInfo;
public PersonInfo getPersonInfo() {
return personInfo;
}
}
And I want to check if person is ...
1
vote
3
answers
628
views
Python: Is returning self in method chaining a violation of Demeter's law?
In Python it is very common to see code that uses method chaining, the main difference with code elsewhere is that this is also combined with returning an object of the same type but modified. This ...
0
votes
2
answers
3k
views
Using Spring Boot's @ConfigurationProperties without violating Law of Demeter
My apps commonly have one or more prop holders. These holders contain config data used in the app such as:
@Component
@ConfigurationProperties(prefix="app.orders")
@Data //lombok
public class ...
0
votes
2
answers
166
views
Should an object keep a reference to a sibling object, or access through mutual owner's method
For context, I'm building a GTK+ application in C where a subclass of GtkApplicationWindow creates and displays a subclass of GtkToolbar and a GtkNotebook (a widget with multiple pages that can be ...