<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8963924286998980153.post2108731715003624535..comments</id><updated>2011-01-05T08:45:44.329+02:00</updated><category term='stacktrace'/><category term='tools'/><category term='java'/><category term='refactoring'/><category term='engineering'/><category term='bug'/><category term='thougts'/><category term='detect deadlock'/><category term='events'/><category term='cloud'/><category term='jvm'/><category term='concurrency'/><category term='Randy Pausch'/><category term='time'/><category term='motivation'/><category term='builder'/><category term='strange bug'/><category term='people'/><category term='problems'/><category term='frameworks'/><category term='python'/><category term='software engineering'/><category term='OOP'/><category term='jstack'/><category term='mandelbug'/><category term='cheatsheet'/><category term='testing'/><category term='deadlock'/><category term='OS'/><category term='heisenbug'/><title type='text'>Comments on 0xABADBABE - computer science iside and outside: Tell, don't ask. Law of Demeter</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.abadbabe.com/feeds/2108731715003624535/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html'/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/10275275069172624080</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_hlzkxmofNck/TPPZzBnrXvI/AAAAAAAAE9s/aV90xsf6PKs/S220/avatar.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8963924286998980153.post-8349656917649479947</id><published>2011-01-05T08:45:44.329+02:00</published><updated>2011-01-05T08:45:44.329+02:00</updated><title type='text'>Rrrichi, thank you for the correction, I made a mi...</title><content type='html'>Rrrichi, thank you for the correction, I made a mistake in example.&lt;br /&gt;It&amp;#39;s &amp;quot;not OK&amp;quot; example because we violate Demeter Law calling method on &amp;#39;child&amp;#39; object and we pass pizza as a parameter:&lt;br /&gt;&lt;br /&gt;Slice slice = pizza.getSlice();&lt;br /&gt;slice.decorate();</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8349656917649479947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8349656917649479947'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html?showComment=1294209944329#c8349656917649479947' title=''/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/10275275069172624080</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15472025912994064869'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_hlzkxmofNck/TPPZzBnrXvI/AAAAAAAAE9s/aV90xsf6PKs/S220/avatar.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html' ref='tag:blogger.com,1999:blog-8963924286998980153.post-2108731715003624535' source='http://www.blogger.com/feeds/8963924286998980153/posts/default/2108731715003624535' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-374212739'/></entry><entry><id>tag:blogger.com,1999:blog-8963924286998980153.post-8194991524829966079</id><published>2010-12-28T04:01:30.297+02:00</published><updated>2010-12-28T04:01:30.297+02:00</updated><title type='text'>Is there an error in example #6 or it is general &amp;...</title><content type='html'>Is there an error in example #6 or it is general &amp;quot;not OK&amp;quot; case that even will not allow to compile code? =)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8194991524829966079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8194991524829966079'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html?showComment=1293501690297#c8194991524829966079' title=''/><author><name>Rrrichi</name><uri>http://www.blogger.com/profile/00695140433453178559</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html' ref='tag:blogger.com,1999:blog-8963924286998980153.post-2108731715003624535' source='http://www.blogger.com/feeds/8963924286998980153/posts/default/2108731715003624535' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1932993540'/></entry><entry><id>tag:blogger.com,1999:blog-8963924286998980153.post-3900675600637365207</id><published>2010-12-13T19:52:07.785+02:00</published><updated>2010-12-13T19:52:07.785+02:00</updated><title type='text'>Hey,
No problem, I just want to break my stereotyp...</title><content type='html'>Hey,&lt;br /&gt;No problem, I just want to break my stereotypes again and move forward in TDD and all the stuff.&lt;br /&gt;Definitely, facades eg. managers are really important party of any big application, especially frameworks.&lt;br /&gt;I&amp;#39;ve often experienced functionality hell in outsourcing projects: tens or even hundred of services, without any entry point.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/3900675600637365207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/3900675600637365207'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html?showComment=1292262727785#c3900675600637365207' title=''/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/10275275069172624080</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15472025912994064869'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_hlzkxmofNck/TPPZzBnrXvI/AAAAAAAAE9s/aV90xsf6PKs/S220/avatar.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html' ref='tag:blogger.com,1999:blog-8963924286998980153.post-2108731715003624535' source='http://www.blogger.com/feeds/8963924286998980153/posts/default/2108731715003624535' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-374212739'/></entry><entry><id>tag:blogger.com,1999:blog-8963924286998980153.post-8906678087675023999</id><published>2010-12-10T12:39:58.959+02:00</published><updated>2010-12-10T12:39:58.959+02:00</updated><title type='text'>Hey, thanks for such a good summary and putting th...</title><content type='html'>Hey, thanks for such a good summary and putting things together.&lt;br /&gt;&lt;br /&gt;I have noticed another thing in large projects. Your domain-specific object base grows, if you build dependency tree according to OOD &amp;amp; OOP patterns applied to these objects, you end up with a huge number of separate objects with &amp;quot;random&amp;quot; dependencies. Of course, they are not that random, but architecture starts having many shapes and it becomes difficult to maintain. &lt;br /&gt;&lt;br /&gt;So one of solutions is to introduce service layer holding algorithms and functionality wrapped up into &amp;quot;managers&amp;quot; like Session.XYZObjectManager, Session.KLMObjectManager...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8906678087675023999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8906678087675023999'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html?showComment=1291977598959#c8906678087675023999' title=''/><author><name>Alexander</name><uri>http://www.blogger.com/profile/07124137967302766814</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_p6lsCzphDa0/SXRJ1EIUIYI/AAAAAAAAAAM/S3raT_h9xv0/S220/b_2.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html' ref='tag:blogger.com,1999:blog-8963924286998980153.post-2108731715003624535' source='http://www.blogger.com/feeds/8963924286998980153/posts/default/2108731715003624535' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1465236991'/></entry><entry><id>tag:blogger.com,1999:blog-8963924286998980153.post-1952682303880995007</id><published>2010-12-08T23:49:54.746+02:00</published><updated>2010-12-08T23:49:54.746+02:00</updated><title type='text'>1) Hard to troubleshoot NullPointerException
2) Ha...</title><content type='html'>1) Hard to troubleshoot NullPointerException&lt;br /&gt;2) Hard to write unit test for it.&lt;br /&gt;3) Not easy to debug&lt;br /&gt;&lt;br /&gt;Unless it&amp;#39;s chaining programming style code, eg. each method invocation return instance of same object...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/1952682303880995007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/1952682303880995007'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html?showComment=1291844994746#c1952682303880995007' title=''/><author><name>Vladimir</name><uri>http://www.blogger.com/profile/10275275069172624080</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15472025912994064869'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_hlzkxmofNck/TPPZzBnrXvI/AAAAAAAAE9s/aV90xsf6PKs/S220/avatar.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html' ref='tag:blogger.com,1999:blog-8963924286998980153.post-2108731715003624535' source='http://www.blogger.com/feeds/8963924286998980153/posts/default/2108731715003624535' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-374212739'/></entry><entry><id>tag:blogger.com,1999:blog-8963924286998980153.post-8388482319909360090</id><published>2010-12-08T19:40:54.934+02:00</published><updated>2010-12-08T19:40:54.934+02:00</updated><title type='text'>What&amp;#39;s wrong with writing this?

orderLine.get...</title><content type='html'>What&amp;#39;s wrong with writing this?&lt;br /&gt;&lt;br /&gt;orderLine.getGroup().getOrder().getCustomer().getAddress().getPostalCode()</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8388482319909360090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8963924286998980153/2108731715003624535/comments/default/8388482319909360090'/><link rel='alternate' type='text/html' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html?showComment=1291830054934#c8388482319909360090' title=''/><author><name>Shooshpanchick</name><uri>http://reflectionsofmind.info/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.abadbabe.com/2010/12/tell-dont-ask-law-of-demeter.html' ref='tag:blogger.com,1999:blog-8963924286998980153.post-2108731715003624535' source='http://www.blogger.com/feeds/8963924286998980153/posts/default/2108731715003624535' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1722765488'/></entry></feed>
