<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Keyed Access Pattern</title>
	<atom:link href="http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/</link>
	<description>Notes of a Potential Independent Game Developer</description>
	<lastBuildDate>Sat, 01 May 2010 13:27:33 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: neb</title>
		<link>http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/comment-page-1/#comment-1398</link>
		<dc:creator>neb</dc:creator>
		<pubDate>Mon, 09 Feb 2009 15:45:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=338#comment-1398</guid>
		<description>All good points. I see modules as improving the Java application deployment process, but not providing any new language-level API improvements. Annotations are closer to the code, but also do not provide any compile-time API restrictions.

The goal of this pattern is not &lt;em&gt;security&lt;/em&gt;, but &lt;em&gt;integrity of design&lt;/em&gt;. I agree that this is not a reasonable solution. The real solution is to either package all such classes together or separate them and live with public methods (or write blog articles discussing improvements to the platform).

I feel that the spirit of Java has always been correctness over convenience, which then feeds back on itself as the correctness becomes ease of development. I&#039;m a big believer in RTFM, but opening up a bunch of public methods can make a code base hard to use and maintain. 

Overall, I prefer to have a strictly defined API, but you&#039;re absolutely correct that it can get out of hand. Mainly, I think I just don&#039;t like convenience.</description>
		<content:encoded><![CDATA[<p>All good points. I see modules as improving the Java application deployment process, but not providing any new language-level API improvements. Annotations are closer to the code, but also do not provide any compile-time API restrictions.</p>
<p>The goal of this pattern is not <em>security</em>, but <em>integrity of design</em>. I agree that this is not a reasonable solution. The real solution is to either package all such classes together or separate them and live with public methods (or write blog articles discussing improvements to the platform).</p>
<p>I feel that the spirit of Java has always been correctness over convenience, which then feeds back on itself as the correctness becomes ease of development. I&#8217;m a big believer in RTFM, but opening up a bunch of public methods can make a code base hard to use and maintain. </p>
<p>Overall, I prefer to have a strictly defined API, but you&#8217;re absolutely correct that it can get out of hand. Mainly, I think I just don&#8217;t like convenience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todd</title>
		<link>http://www.potentialgames.com/blog/2009/02/09/keyed-access-pattern/comment-page-1/#comment-1397</link>
		<dc:creator>Todd</dc:creator>
		<pubDate>Mon, 09 Feb 2009 14:47:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.potentialgames.com/blog/?p=338#comment-1397</guid>
		<description>I believe &quot;modules&quot; are under discussion for the next version of Java.  You might find a better solution using annotations, too.

I would be interested in knowing why you feel this sort of control is necessary.  Yes, it seems you have a solution to the problem here, but I would hardly call it a reasonable solution.  Personally, I believe access restrictions are useful primarily to make it easier for another developer to know what is available in a class.  What this proposes makes things pretty convoluted.

And besides, we can take one of three philosophies about code protection: 

  1.  We can assume that another developer is incompetent and will mess up the application.

  2.  We can assume that another developer is malicious.

  3.  We can assume the other developer is competent.

Sure, there are certainly cases where 1 and 2 are legitimate problems, but I feel that maybe we shouldn&#039;t allow 1&#039;s and 2&#039;s to access our code at all.  I just seems that being overly protective is, like nearly all security measures, simply punishing the honest people.  In this case, yourself.</description>
		<content:encoded><![CDATA[<p>I believe &#8220;modules&#8221; are under discussion for the next version of Java.  You might find a better solution using annotations, too.</p>
<p>I would be interested in knowing why you feel this sort of control is necessary.  Yes, it seems you have a solution to the problem here, but I would hardly call it a reasonable solution.  Personally, I believe access restrictions are useful primarily to make it easier for another developer to know what is available in a class.  What this proposes makes things pretty convoluted.</p>
<p>And besides, we can take one of three philosophies about code protection: </p>
<p>  1.  We can assume that another developer is incompetent and will mess up the application.</p>
<p>  2.  We can assume that another developer is malicious.</p>
<p>  3.  We can assume the other developer is competent.</p>
<p>Sure, there are certainly cases where 1 and 2 are legitimate problems, but I feel that maybe we shouldn&#8217;t allow 1&#8217;s and 2&#8217;s to access our code at all.  I just seems that being overly protective is, like nearly all security measures, simply punishing the honest people.  In this case, yourself.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
