Talk:Inversion of control/Regarding the Terms and Definitions section

From Wikipedia, the free encyclopedia

Archive This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page.

I think the changes made by Julian Morrison were absolutely justified. This *is* ridiculous. It sure is a carefully worded explanation that took some time to work out, but imho it's quite out of place in this article. Maybe a common terms and definitions in object oriented programming page should be created that can be shared by all such articles. — Cygon

I agree. I suppose one challenge is knowing how much background explanation is appropriate before jumping into the meat of the subject matter. I would argue that in order to approach answering this, a certain audience should be presumed (developers who understand OO principals), with heavy linking to other parts of Wikipedia for those who might be weak on the background necessary to understand IoC, rather than verbose inline exposition. The current page seems to attempt to define and develop a lot of elementary concepts that could theoretically appear at the beginning of many design pattern articles, and IMHO, factoring them out would allow the article to get to the point. Julian Morrison's version communicated at a level that I was comfortable with, while the background in the current one (while carefully crafted) seems tedious to me. Mike Fikes 21:50, 21 February 2006 (UTC)
Although I disagree, feel free to do what you think is best. I have tried to describe dependency inversion to non-programmers. I know dependency inversion from Robert Cecil Martin's Books and the Dependency Inversion principle as he describes it, is a central part in OO software design as it helps to reduce coupling. Maybe IoC in Java is too different compared to DI. I know C++ quite well but not Java equally well. I had actually some hard thinking to describe it as I did here. So maybe I have some too strong ownership feelings here. It just hurts a bit if you work hard and someone throws your work out under the term "ridiculous". But of course that doesn't matter. I must say, I don't know how much knowledge can be presumed for the average reader here. Of course the intro I did is ridiculous for every OO programmer. I even think that whole article is ridiculous for an OO programmer. But then you might even throw out articles like class (computer science) — or which OO programmer needs an article about class? I don't know what's the policy on Wikipedia on this. So I might have gone over board. I personnally find it helpful that I can read an article on human medicine here and understand that without being a brain surgeon or taking introductory courses to read medicine articles on Wikipedia. I assume a lot of contributers here are computer geeks. But this is not an encyclopedia for computer geeks only. Just some thoughts. As already said, feel free to throw out. I will not revert again. --Adrian Buehlmann 22:29, 21 February 2006 (UTC)

I agree with Mike Fikes and Cygon, on the basis that if authors write articles on specific topics that include lengthy background information to accommodate readers with little domain knowledge related to the topic, then Wikipedia's content degrades in two ways:

  1. There is a lot of redundant content generated in these background sections. If every article on a sub-concept of OOP has a section describing OOP basics, then we wind up with dozens of different OOP introductory descriptions.
  2. It clutters the information on the topic for users already familiar with the domain.

As Mike Fikes says, link heavily if background info is necessary to understand a topic. I think that's part of the inherent power of Wikipedia: "information reuse," if you will. We programmers prefer to say things only once, if at all possible, and Wikipedia makes that very possible. --Scottymo 18:01, 22 February 2006 (UTC)

I agree with that. The problem is I didn't find enough articles with enough info to refer to in order to explain dependency inversion (seems also to be a misconception of the terms, see talk with Paul below on this page). The articles I found were just too unspecific or not up to the point of info that I felt was needed to understand dependency inversion. That's all. As I already said. Just go on and delete. I will not revert. --Adrian Buehlmann 19:00, 22 February 2006 (UTC)