Inner-platform effect

Inner-platform effect

The Inner-Platform Effect is the tendency of software architects to create a system so customizable as to become a poor replica of the software development platform they are using. This is generally inefficient and an example of an anti-pattern.

It is normal for software developers to create a library of custom functions that relate to their specific project. The inner-platform effect occurs when this library expands to include general purpose functions that duplicate functionality already available as part of the programming language or platform. Since each of these new functions will generally call a number of the original functions, they tend to be slower and less reliable.

In the database world, developers are sometimes tempted to bypass the RDBMS, for example by storing everything in one big table with two columns labeled "key" and "value". While this allows the developer to break out from the rigid structure imposed by a relational database, it loses out on all the benefits, since all of the work that could be done efficiently by the RDBMS is forced onto the application instead. Queries become much more convoluted, the indexes and query optimizer can no longer work effectively, and data validity constraints are not enforced.

A similar temptation exists for XML, where developers sometimes favor generic element names and use attributes to store meaningful information. For example, every element might be named "item" and have attributes "type" and "value". This practice requires joins across multiple attributes in order to extract meaning. As a result, XPath expressions are more convoluted, evaluation is less efficient, and structural validation provides little benefit.

ee also

* Second-system effect
* Not Invented Here
* Greenspun's Tenth Rule

References

* [http://thedailywtf.com/Articles/The_Inner-Platform_Effect.aspx Original definition and example]
* [http://thedailywtf.com/Articles/The_Enterprise_Rules_Engine.aspx Example: The Enterprise Rules Engine]
* [http://thedailywtf.com/Articles/I_Think_I_0x27_ll_Call_Them__0x26_quot_0x3b_Transactions_0x26_quot_0x3b_.aspx Example: I Think I'll Call Them "Transactions"]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Inner German border — Innerdeutsche Grenze North and central Germany …   Wikipedia

  • Second-system effect — In computing, the second system effect or sometimes the second system syndrome refers to the tendency to design the successor to a relatively small, elegant, and successful system as an elephantine, feature laden monstrosity. The term was first… …   Wikipedia

  • Crossing the inner German border — Crossing points on the inner German border, 1982[1] Crossing the i …   Wikipedia

  • Cross-platform interchange — A diagram of a paired cross platform interchange The former and current tr …   Wikipedia

  • Races of the Mass Effect universe — This article is about the fictional races found within the Mass Effect universe. These races are explored in the novels Mass Effect: Revelation and Mass Effect: Ascension, and the video games Mass Effect, Mass Effect Galaxy, and Mass Effect 2.… …   Wikipedia

  • Races in Mass Effect — This article is about the fictional species found within the Mass Effect universe contained in both the and Xbox 360 and PC video game.Known sapient speciesAsari The asari are a humanoid species that hold one of three permanent seats on the… …   Wikipedia

  • The Daily WTF — URL http://thedailywtf.com/ Slogan Curious Perversions in Information Technology Typ …   Wikipedia

  • List of effects — This is a list of names for observable phenonema that contain the word effect, amplified by reference(s) to their respective fields of study. #*3D audio effect (audio effects)A*Accelerator effect (economics) *Accordion effect (physics) (waves)… …   Wikipedia

  • Anti-pattern — For the book, see AntiPatterns. In software engineering, an anti pattern (or antipattern) is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.[1][2] The term was coined in 1995 by Andrew Koenig,[3]… …   Wikipedia

  • Greenspun's Tenth Rule — of Programming is a common aphorism in computer programming and especially programming language circles. It states: [http://www.paulgraham.com/icad.html Revenge of the Nerds] , by Paul Graham.] Any sufficiently complicated C or Fortran program… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”