Talk:Immutable interface

Requested move

 * The following discussion is an archived discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section. 

The result of the move request was: move. The objections raised were concerns about article notability, not issues with the name. There are credible claims for the topic's notability, so the concerns expressed here should not bar its move to article space. I am, however, going to move it to the lower-case name "Immutable interface" -- two of the three cited sources use it as a common noun, not a proper name. Orlady (talk) 01:19, 31 October 2010 (UTC)

User:Grundlefleck/Immutable Interface → Immutable Interface — Initial version of page, which has no meaningful content yet. Grundlefleck (talk) 00:39, 4 October 2010 (UTC)
 * Oppose. Seems more like a how to then an actual encyclopedic article. Notability is not established. Vegaswikian (talk) 07:05, 11 October 2010 (UTC)
 * Support The informit article probably establishes notability; this is definitely a legit Java thing. (The mindprod article is not helpful, though.) I disagree with the "how to" argument: examples are very helpful to explain what the pattern is, wp:NOTHOWTO allows for examples that are "intended to inform rather than to instruct." The style here is not like a textbook with "leading questions," etc. The article discusses the advantages and disadvantages, alternatives, etc. Sure, it's not a final draft - it needs more, but I don't think we need to hold up the move. ErikHaugen (talk) 22:49, 12 October 2010 (UTC)

Discussion
In regards to estabilishing notability for the article, I agree the mindprob source is not very helpful (though it does mention "Immutable Interface"). Hopefully it helps my case is that the reason I wrote the article was a link to an empty article for "Immutable Interface" in the article for "Immutable Object". I also followed this article in terms of examples of the pattern, as that page does, and don't agree there is a how to aspect to the article. Any other pointers would be appreciated. Grundlefleck (talk) 11:32, 15 October 2010 (UTC)
 * Grundlefleck, I suppose I was too harsh on the mindprod reference, I see item 4 does describe this pattern, although it doesn't call it "immutable interface." The redlink thing doesn't do much to help establish notability; the informit article goes a long way toward establishing notability, other articles like that would help more. The c2.com link doesn't really establish notability, since it's a wiki that anyone could add some design pattern to that they just made up one day. I'm not trying to downplay the significance of that particular wiki, or even suggest that you remove the link to it, I'm just saying that its contents are not immediately notable. I think the article is off to a good start; you have most of the patterny stuff that a lot of the pattern articles all have: example, description, advantages, related patterns, etc. You might add other encyclopedia-type stuff like the history of it, who first documented it, etc. Other examples of design pattern articles for inspiration: Category:Software_design_patterns. ErikHaugen (talk) 17:56, 15 October 2010 (UTC)

I have a question regarding the c2 wiki article and general citation rules. In this case, the wiki article is attributed to Nat Pryce, who I would consider a credible source, having co-authored a published book and having presented at "Software Craftsmanship". My question is, since it is a wiki, is there more to be done to establish authorship? If there is something formally published by Nat Pryce describing the Immutable Interface pattern, would that be enough to establish notability? Thanks for taking the time to reply. Grundlefleck (talk) 20:14, 17 October 2010 (UTC)
 * "is there more to be done to establish authorship" - I don't know if there's any point in spending any energy on this; someone could just go edit that page heavily, then it wouldn't really be Pryce anymore anyway. Yeah - if Pryce published something formally, that would certainly help establish the notability of this subject; that might be good to link to if it exists. ErikHaugen (talk) 00:24, 18 October 2010 (UTC)

To clarify, should I go ahead with the move and continue to establish further notability, or do I have to wait? Thanks. Grundlefleck (talk) 18:39, 19 October 2010 (UTC)
 * Well, your request is still pending in the requested moves queue. There's quite a backlog there, unfortunately. I would just wait and if you are so inclined continue working on the article. Vegaswikian has a point that this is not as "encyclopedic" as it could be, but hopefully whoever closes this discussion will agree that whatever problems the article has shouldn't hold it back from being moved to the main namespace as you are requesting. ErikHaugen (talk) 18:50, 19 October 2010 (UTC)
 * The above discussion is preserved as an archive of a requested move. Please do not modify it. Subsequent comments should be made in a new section on this talk page. No further edits should be made to this section.

"Immutable"?
There is commonly a distinction between "immutable" and "umodifiable" (sometimes also called "read-only", but I have seen the term "read-only" used for both). Immutable objects NEVER change for their client. They might change internally (as with some so-called "persistent" data structures) but the client will never see any modifications. Unmodifiable objects, on the other hand, might change, but the client cannot change them itself. This article seems to talk about objects that are unmodifiable, not immutable. I have heard this pattern called "limiting view", where the mutable class B implements a limiting view interface A. A exposes an unmodifiable view. So, I think the title is somewhat misleading, and the "Alternatives" section is missing some closely related patterns.

I added a link to persistent data structures in "see also". It might also be good to review the most notable literature and verify that the article title is appropriate. Alex Kindel (talk) 20:52, 7 March 2018 (UTC)