Skip to content

Instantly share code, notes, and snippets.

@klauswuestefeld
Created September 1, 2011 19:03
Show Gist options
  • Save klauswuestefeld/1186975 to your computer and use it in GitHub Desktop.
Save klauswuestefeld/1186975 to your computer and use it in GitHub Desktop.
Martin Fowler to Usurp Pattern
We couldn’t find any files to show.
@klauswuestefeld
Copy link
Author

Rofr, no prevalence layer is "an organized collection of data for one or more purposes, usually in digital form." (http://en.wikipedia.org/wiki/Database)

The >apps< running on these prevalence layers can be defined as that.

I like "Persistence Layer" as a starting point for someone new.

@nusco
Copy link

nusco commented Sep 11, 2011

I agree with the criticism of "Memory Image". I can see where Martin took that name from: Smalltalk. As influential as it used to be, however, I don't think the Smalltalk heritage is widespread enough today. It's not like people hear "Memory Image" and think "Oh, yes, like Smalltalk!". So I think it's an artificial name, and that's never good for a pattern.

On the other hand, sorry, but I never much liked "Prevalent System" either. Maybe because English is not my mother language, but when I hear "Prevalence", I think of a lot of things - not all of them pleasant, most of them related to violence and submission, and none of them related to this pattern. I think that we should just let the pattern spread, and a common name arise. Darwinian selection of dictionary is good, and not the point: the point is that this pattern is a good idea, and it should spread.

As a side note, I think that the condescendent attitude of many thought leaders towards Prevayler is not very generous. Prevayler deserves much more than a footnote, given all the bad vibes it got from people who accepted the then-current orthodoxy ("You cannot have persistence without SQL") without a question. Today, I think that the authors of Prevayler have a right to be recognised as far-sighted people.

OK, Klaus didn't "invent" the pattern. Fair enough: if you "invent" a pattern, then it's not a pattern, right? He kept the idea alive while the rest of the world was either ignoring him or accusing him of selling snake oil. In my book, that's reason enough for recognition and respect.

@edmundoandrade
Copy link

Indeed, Klaus deserves a good answer from Martin Fowler because of this: Klaus kept the idea alive, by means of a working implementation: Prevayler (as commented by nusco).

Martin is not obliged to accept Klaus' perspective (1), but an evasive footnote is not acceptable neither. Although obvious to Martin, his articles' readers should know some interesting pratical facts like the one stated in (2).

(1) It is called system prevalence. It encompasses transparent persistence, fault-tolerance and load-balancing.
Reference: http://www.advogato.org/article/398.html

(2) After working on a number of applications, I was most surprised to find that the most common bottleneck in a Prevalent system is not the data access and manipulation logic, but rather the Web server.
Reference: http://www.ibm.com/developerworks/library/wa-objprev/

Copy link

ghost commented Dec 21, 2011

What a shame Martin Fowler, what shame...

@rj45NSX
Copy link

rj45NSX commented Mar 15, 2016

It's pretty simple. Money. Most of Martin Fowler stuff is pretty rehashed pogs of old.

Recently I had, not one but two interviews with the same question on dependency injection. The interviewers thought dp meant to pass an interface.... It's not a surprise people are confused when you market it that way.

One has to think that the term "dependancy injection" is a bs term meant to sell books and to coin it for himself. Its too bad because it's not a bad pattern but it's marketed in such a way that confuses many people because he tries to take owner ship to extreme levels. I would have just the pattern AutoFactory or something and spoke around the "IOC" container not the trival matter of how it is so called "injected" which actually should be replaced with "passed" a variable etc etc. Shame on you Martin. Stop naming patterns stupid shit and stealing old stuff and rehashing it as your own. It would be better you never existed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment