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.










share|improve this question
























  • See The Law of Demeter is not a Dot Counting Exercise
    – Jonathan Leffler
    19 hours ago















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.










share|improve this question
























  • See The Law of Demeter is not a Dot Counting Exercise
    – Jonathan Leffler
    19 hours ago













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.










share|improve this question















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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


















  • 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

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















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





































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














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




















































































Popular posts from this blog

Full-time equivalent

Bicuculline

さくらももこ