Re: Information hiding?

Nick Gall <[email protected]>
Newsgroups gmane.comp.web.services.rest
Message-ID <CA+xhAPVa5CHFnjN4NXTzhu=Vcr7wZw1LXEOY+8am0rPP5aJ7QQ@mail.gmail.com>
My favorite expression of information hiding is this passage from the
closing section of David Parnas's seminal essay, "On the Criteria To Be
Used in Decomposing Systems into Modules": "...it is almost always
incorrect to begin the decomposition of a system into modules on the basis
of a flowchart. We propose instead that one begins with a list of difficult
design decisions or design decisions which are likely to change. Each
module is then designed to hide such a decision from the others.
http://en.wikipedia.org/wiki/David_Parnas#Quotations
Parnas D.L. (December 1972). "On the Criteria To Be Used in Decomposing
Systems into Modules". Comm ACM 15 (12): 1053–8. doi:10.1145/361598.361623

In other words, information hiding is the hiding of design
decisions--especially those design decisions likely to change. Information
hiding is NOT just about hiding implementation details; it is much more
about hiding (an at least indirecting--a form of hiding) design issues. But
here we are 40 years later, still starting our designs by decomposing
systems into steps in a process diagram.

-- Nick

Nick Gall
Phone: +1.781.608.5871
Other Contact Info: http://bit.ly/nickgall


On Thu, Feb 28, 2013 at 3:13 AM, Roy T. Fielding <[email protected]> wrote:

> On Feb 27, 2013, at 3:23 PM, Eric J. Bowman wrote:
>
> > Alan Dean wrote:
> >>
> >> I can see *"The resource implementation details are hidden behind the
> >> interface."* in [1] but that doesn't seem to be in conflict with
> >> *"allows information hiding through a generic interface"* to me.
> >>
> >
> > So "information hiding" is shorthand for "implementation-detail hiding"?
> > I guess I was thinking "uses SQL" is an implementation detail, while
> > the results of a SQL query would be "information," and I was missing
> > some subtlety.
>
> Information hiding is one of the first software engineering
> principles learned when systems became large enough to require
> modularity.
>
> http://www.itmweb.com/essay550.htm
>
> ....Roy
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.