summaryrefslogtreecommitdiff
path: root/vendor/j4mie/idiorm/docs/philosophy.rst
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/j4mie/idiorm/docs/philosophy.rst')
-rw-r--r--vendor/j4mie/idiorm/docs/philosophy.rst34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/j4mie/idiorm/docs/philosophy.rst b/vendor/j4mie/idiorm/docs/philosophy.rst
new file mode 100644
index 000000000..a11d4210f
--- /dev/null
+++ b/vendor/j4mie/idiorm/docs/philosophy.rst
@@ -0,0 +1,34 @@
+Philosophy
+==========
+
+The `Pareto Principle`_ states that *roughly 80% of the effects come
+from 20% of the causes.* In software development terms, this could be
+translated into something along the lines of *80% of the results come
+from 20% of the complexity*. In other words, you can get pretty far by
+being pretty stupid.
+
+**Idiorm is deliberately simple**. Where other ORMs consist of dozens of
+classes with complex inheritance hierarchies, Idiorm has only one class,
+``ORM``, which functions as both a fluent ``SELECT`` query API and a
+simple CRUD model class. If my hunch is correct, this should be quite
+enough for many real-world applications. Let’s face it: most of us
+aren’t building Facebook. We’re working on small-to-medium-sized
+projects, where the emphasis is on simplicity and rapid development
+rather than infinite flexibility and features.
+
+You might think of **Idiorm** as a *micro-ORM*. It could, perhaps, be
+“the tie to go along with `Slim`_\ ’s tux” (to borrow a turn of phrase
+from `DocumentCloud`_). Or it could be an effective bit of spring
+cleaning for one of those horrendous SQL-littered legacy PHP apps you
+have to support.
+
+**Idiorm** might also provide a good base upon which to build
+higher-level, more complex database abstractions. For example, `Paris`_
+is an implementation of the `Active Record pattern`_ built on top of
+Idiorm.
+
+.. _Pareto Principle: http://en.wikipedia.org/wiki/Pareto_principle
+.. _Slim: http://github.com/codeguy/slim/
+.. _DocumentCloud: http://github.com/documentcloud/underscore
+.. _Paris: http://github.com/j4mie/paris
+.. _Active Record pattern: http://martinfowler.com/eaaCatalog/activeRecord.html \ No newline at end of file