<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Aiming High: Good Architecture</title>
    <link>http://blog.objectmentor.com/articles/2007/01/12/aiming-high-good-architecture</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Aiming High: Good Architecture</title>
      <description>Being perhaps more terse than precise, I provided this as a response to &amp;#8220;What is a good Architecture&amp;#8221;:
&lt;blockquote&gt;
I would say that a good architecture is one in which a solution can be built, tested, and deployed, and within which all points of maintenance are singular and well-placed.  
&lt;/blockquote&gt;

	&lt;p&gt;Now it&amp;#8217;s nothing new, and nothing earth-shatteringly well said maybe, but I think it&amp;#8217;s the first time I&amp;#8217;ve successfully managed to express what I want.&lt;/p&gt;


	&lt;p&gt;Put even more vaguely and more tersly, I could say &amp;#8220;it works and I can continue working in it&amp;#8221;, but that actually says less than I want.&lt;/p&gt;</description>
      <pubDate>Fri, 12 Jan 2007 10:46:34 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:5620d2b9-13e3-4df8-b47c-78be650df839</guid>
      <author>Tim Ottinger</author>
      <link>http://blog.objectmentor.com/articles/2007/01/12/aiming-high-good-architecture</link>
      <category>Tim's Tepid Torrent</category>
    </item>
    <item>
      <title>"Aiming High: Good Architecture" by Tim</title>
      <description>&lt;p&gt;I have been thinking about that a lot.  We&amp;#8217;re crafting a new course in professional OO development specifically for people working in a Java environment with legacy code.  It has forced me to revisit all the Object Mentor design principles and I&amp;#8217;ve realized that the &amp;#8220;unique and well-placed&amp;#8221; mantra seems to permeate them all, though not overtly.&lt;/p&gt;


	&lt;p&gt;The single responsibility principle is about both having unique points of maintenance, and placing them well.&lt;/p&gt;


	&lt;p&gt;The Open/Closed principle is likewise about placing changes  well-placed in the hierarchy.  It is more, perhaps, because it recommends abstraction and applies &amp;#8220;well-placed&amp;#8221; to the inheritance tree.&lt;/p&gt;


	&lt;p&gt;The Dependency Inversion Principle is again about having abstractions well-placed to manage dependency.&lt;/p&gt;


	&lt;p&gt;The Liskov Substitutability Principle is about keeping functionality well placed in an inheritance hierarchy, so that nothing is placed in the base that doesn&amp;#8217;t belong, and no code that deals with the lowest implementor is misplaced in the top-level.&lt;/p&gt;


	&lt;p&gt;It goes on and on.&lt;/p&gt;


	&lt;p&gt;Also, there is an interesting Michael Feathers blog about things being well-placed (rather, knowing where to find them) that surfaced at this opportune junction.&lt;/p&gt;


	&lt;p&gt;Well, it&amp;#8217;s on my mind all the time these days, along with the naming principles I&amp;#8217;m rabidly revamping.&lt;/p&gt;


	&lt;p&gt;Thanks for the good words, Stan.&lt;/p&gt;</description>
      <pubDate>Wed, 31 Jan 2007 13:44:04 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:fb6ce254-ecf0-4c9b-854d-d4a0ca8fadb8</guid>
      <link>http://blog.objectmentor.com/articles/2007/01/12/aiming-high-good-architecture#comment-62</link>
    </item>
    <item>
      <title>"Aiming High: Good Architecture" by Stan</title>
      <description>&lt;p&gt;I copied your response out of that discussion group when I saw it go by. I was just thinking that nobody else was really answering the question and trying to formulate something along those lines, but you did a much better job. Thanks!&lt;/p&gt;</description>
      <pubDate>Wed, 31 Jan 2007 09:46:51 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:9e88f8c0-a578-4e7f-97ce-7a7a6ab0ca1a</guid>
      <link>http://blog.objectmentor.com/articles/2007/01/12/aiming-high-good-architecture#comment-59</link>
    </item>
  </channel>
</rss>
