Talk:Dependency injection/Archives/2019/July

Reverted addition of link to blog post in Disadvantages section
Hello, you asked me on my Talk page why I had deleted your link. It seemed to me that it was a promotional link to a non-notable blog. Please have a look at WP:RS and WP:ELNO for the relevant policies if you haven't already. You are right that there is more unsourced content in the article, but arguably that should be removed too. And please forgive this direct question, but are you perhaps the author of the blog post or owner of the site hosting it? If so, it would be inappropriate to add such links yourself. If not, please disregard the comment. Martijn Meijering (talk) 16:56, 1 July 2019 (UTC)

I've added a Refimprove tag to the page, since many other statements in the article are poorly sourced too. Martijn Meijering (talk) 10:25, 2 July 2019 (UTC)


 * Hi Martijn, Thanks a lot for your answer and for adding the Refimprove tag in order to demonstrate a more objective point of view. Much appreciated. Two formal remarks: 1. Moving the discussion from your talk page to this one might make it inconvenient for other readers to follow without a link. Link to my post: User_talk:Mmeijeri. 2. In general, in discussions please avoid to raise new questions to somebody who already addressed reasonable questions to you before you answered these questions, because it appears like you cannot give a valid answer and it makes it harder to find a common ground in order to avoid an endless discussion. Despite this my answer is no and my motivation to contribute is not any link, but the topic itself (effects on OO when using DI). I think you overlook here the fact that my original post included two more links. I guess you will ask me the same about these links: no. It seems to me that all three sources are independent from each other. Do you agree on this? All three sources roughly come to the same conclusion that DI discourages OO, but two sources blame DI frameworks in general, while one source blames directly the DI pattern. I found more sources on this, but IMHO with less quality and so I dismissed them. Somebody complained the two links which blame the DI frameworks with the argument they would focus exclusively on DI frameworks. I don't share this point of view. I think if they blame all DI frameworks or DI frameworks in general it is significant enough to be considered in this context. Also, the list of disadvantages in this article contains two more valid points focused exclusively on DI frameworks, hence they should be removed as well? Nevertheless I removed these two links just for the sake of an easy consensus without further discussion. That is why one link was left over! So, my proposal for a safe middle ground, if your concern is that the left over link could be promotional, is to restore my contributed material with the two other citations, but without the citation in question. When you restore my contributed material just choose from these three citations the ones you think are acceptable for you and I'll be fine with it. If you are an expert in this area and if you think the wording is an issue, feel free to propose a new one, as long as a reader will understand the point that DI has a significant negative effect on OO, due to a separation of data and behavior. By the way: are you an expert (with several years of professional experience) in this area? Otherwise, if you are not yet willing to settle for the offered middle ground, then please come up with the answers to my questions which you still owe me. Your answers will then help me to improve my citations and to know your criteria for future contributions and removals in order to avoid to waste my time. Regards Software designer (talk) 23:20, 2 July 2019 (UTC)
 * This is the second wall of text full of questions you've launched at me. Maybe it's not intended this way, but it feels needlessly combative. Generally I don't feel obligated to answer long series of questions, but since this is my holiday, I have plenty of time and will indulge you.
 * I feel I had answered your questions with my first post, but let me try to clarify.
 * "one person's blog": WP:RS clarifies that blogs are generally not RSs and WP:ELNO point 11 states that Blogs, personal web pages and most fansites (negative ones included), except those written by a recognized authority should normally not be linked to. Martin Fowler's blog would fall into the recognised authority category. You further ask about the number of citations. It is not important, it's the fact that the provided source does not meet the criteria for a RS.
 * "non-notable site": When is a site "non-notable"? WP:N provides the criteria.
 * "dubious": dubious simply means that I doubt what you say is true, and that the onus is on the person proposing the addition to come up with a RS that supports it. In addition Wikipedia has a tag that people can add to a piece of text that they doubt is true, but which has already gained a consensus. Given that we were discussing a new addition that didn't have consensus, reverting it seemed more appropriate, in conformance with WP:BRD. You were perfectly entitled - indeed encouraged - to make a Bold edit, others were equally entitled to Revert it, let's now Discuss to see if we can achieve a consensus.
 * You correctly point out that the whole article is full of unsourced content. This is a bad thing and as you've acknowledged I've added a Refimprove tag to draw people's attention to it. As for deleting content, for stuff that's already there it is better to add a tag, or if you think it is true, a  tag. Then we can go through all the claims and see if we can find a consensus for improvement / deletion.
 * I believe I've now explicitly answered all the questions in your first message, but feel free to ask again if I've missed anything.
 * Now for your further questions. I did not look closely at your other two sources, I merely noted that they didn't seem impressive to me, were objected to by others, and subsequently withdrawn by you. If you want we can look at them again.
 * As for the other two items on DI frameworks, I don't think they need to be deleted merely for being about DI frameworks, which are entirely on-topic for this page. The concern is more that we need to distinguish between (dis)advantages of frameworks vs (dis)advantages of DI itself.
 * You ask if I am an expert in this area, with several years of appropriate experience. I am indeed, with more than twenty years of appropriate experience.
 * I have now answered a whole bunch of your questions, perhaps you will now answer some of mine. Or better yet, consider this: judging by your questions about notability, reliable sources etc it seems to me that you are not very familiar with Wikipedia policies. This is fine, we were all beginners once and Wikipedia needs more volunteers. We're also all willing to help, but please familiarise yourself with these policies first. They are there for very good reasons and can save us all a lot of time.
 * Let me propose this: let's each go through the whole article adding dubious and refimprove and cn tags to statements in the article.
 * Let's also try to find better sources. Most of my technical books are in my office, but I'll see if I can get some better sources for some of the claims in the article, and tag ones that I find dubious with the appropriate tag. I've already tried to find links for your claim about anemic domain models, but found mostly blog posts and online discussion groups, and nothing that comes close to being a RS. I've also tried the search link suggested by the Refimprove tag, but that comes up mostly with not very impressive sources, mostly how-to guides for specific frameworks. Maybe I can dig up some better references in books by Bob Martin.
 * Let's also wait for some others to chime in.
 * Deal? Martijn Meijering (talk) 13:13, 3 July 2019 (UTC)


 * Hi Martijn, Thanks a lot for your answers to my questions. Nobody here is obligated to answer anything. I fully agree we need to distinguish between (dis)advantages of frameworks vs (dis)advantages of DI itself and the wording should be adapted if we cite only these two sources, but if these two or three sources in question or their authors are not sufficiently notable, then we don't need to think about it anymore. You provided a very good example for a recognized authority and of course it should be allowed to cite that one. Despite this interpretation of the policies, I think we should be careful to not judge a claim solely by the reputation of its source or by a sort of "argumentum ad hominem" (positive and negative), since the truth of a claim does not depend on its source. The concepts of RS, authority and so on are very useful to guide us through the jungle, but we should walk that way with open eyes and expertise. A recognized authority could publish a certain claim with weak arguments or even no reasonable arguments. A non-notable source could publish a certain claim with empirical evidence and logical conclusions. I know it is a totally weird example, but imagine everybody, in particular all recognized authorities, believe the earth is flat and suddenly there is this non-notable guy who claims that the earth is not flat and comes up with some empirical evidences. Should we disregard his claim? Just as food for thought. Not to advocate for anything! I added some tags as you proposed, but my original intention was to share with the community here my professional experience regarding that issue with DI and OO which I think is really significant. Thanks for your research on this! Out of curiosity: Have you ever seen a working example of DI in a live project without separation of data and behavior? I wonder how to make that work in a live project in particular without costly workarounds. Regards Software designer (talk) 00:29, 8 July 2019 (UTC)