Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!news.swapon.de!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Daniele Futtorovic Newsgroups: comp.lang.java.programmer Subject: Re: "Program to an interface" - When to break a design pattern Date: Thu, 05 May 2011 22:27:11 +0200 Organization: A noiseless patient Spider Lines: 20 Message-ID: References: <9dt5s6dalhetgfe99qs92c02hf0dbas44e@4ax.com> <2psjssq4zj.fsf@shell.xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 5 May 2011 20:27:08 +0000 (UTC) Injection-Info: mx03.eternal-september.org; posting-host="3L0fosuCYLsM9cW5CzHNyA"; logging-data="16952"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/s0MyZk4cFAT9TgkLWJUuv" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 In-Reply-To: <2psjssq4zj.fsf@shell.xmission.com> Cancel-Lock: sha1:YNPfIOEbK+3B6o8DsWfo/RBCygw= Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:3587 On 05/05/2011 22:14, Jim Janney allegedly wrote: > The point of programming to the interface is to make it easier to > substitute a different implementation, which implies that any > reasonable implementation can be used. If this is not true, if the > code that uses the object relies on behavior only found in one > implementation, then there is no benefit to using the interface, and > you make it more inviting for someone to break things later on. So > in this case, no, programming to the interface would be the wrong > thing to do. The point of design principles is to make you think > before you break them :-) Entirely disagreed. The code shown did not contain any justification for breaking the pattern in question, and on the opposite, it contained all the reasons to think more about encapsulation, which is the true underlying rationale for coding to interfaces -- not polymorphism per se. -- DF. An escaped convict once said to me: "Alcatraz is the place to be"