Is using a data structure really creates LOD violation?
up vote
-1
down vote
favorite
Let's say, I have an array within the class C and methods M belongs to C calls this.
if(keys[i].equals(key)){
}
if we compare this scenario with the rules of the law, it is a violation. But in this case, isn't the keys[i] is actually still an element of the C. Is using a data structure ( array, list, vector ) makes a violation ( Because we only used them to put things together). And what is the solution to this?
keys.atEqual(i,key)
something like that? And this is not implemented by the data structure, so how can one access and check the equality without the violation.
data-structures law-of-demeter
add a comment |
up vote
-1
down vote
favorite
Let's say, I have an array within the class C and methods M belongs to C calls this.
if(keys[i].equals(key)){
}
if we compare this scenario with the rules of the law, it is a violation. But in this case, isn't the keys[i] is actually still an element of the C. Is using a data structure ( array, list, vector ) makes a violation ( Because we only used them to put things together). And what is the solution to this?
keys.atEqual(i,key)
something like that? And this is not implemented by the data structure, so how can one access and check the equality without the violation.
data-structures law-of-demeter
See The Law of Demeter is not a Dot Counting Exercise
– Jonathan Leffler
19 hours ago
add a comment |
up vote
-1
down vote
favorite
up vote
-1
down vote
favorite
Let's say, I have an array within the class C and methods M belongs to C calls this.
if(keys[i].equals(key)){
}
if we compare this scenario with the rules of the law, it is a violation. But in this case, isn't the keys[i] is actually still an element of the C. Is using a data structure ( array, list, vector ) makes a violation ( Because we only used them to put things together). And what is the solution to this?
keys.atEqual(i,key)
something like that? And this is not implemented by the data structure, so how can one access and check the equality without the violation.
data-structures law-of-demeter
Let's say, I have an array within the class C and methods M belongs to C calls this.
if(keys[i].equals(key)){
}
if we compare this scenario with the rules of the law, it is a violation. But in this case, isn't the keys[i] is actually still an element of the C. Is using a data structure ( array, list, vector ) makes a violation ( Because we only used them to put things together). And what is the solution to this?
keys.atEqual(i,key)
something like that? And this is not implemented by the data structure, so how can one access and check the equality without the violation.
data-structures law-of-demeter
data-structures law-of-demeter
edited 19 hours ago
asked 19 hours ago
Onur Berk Töre
13
13
See The Law of Demeter is not a Dot Counting Exercise
– Jonathan Leffler
19 hours ago
add a comment |
See The Law of Demeter is not a Dot Counting Exercise
– Jonathan Leffler
19 hours ago
See The Law of Demeter is not a Dot Counting Exercise
– Jonathan Leffler
19 hours ago
See The Law of Demeter is not a Dot Counting Exercise
– Jonathan Leffler
19 hours ago
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237444%2fis-using-a-data-structure-really-creates-lod-violation%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
See The Law of Demeter is not a Dot Counting Exercise
– Jonathan Leffler
19 hours ago