Principled components

99 views
Skip to first unread message

Erik Assum

unread,
Apr 10, 2018, 3:30:23 PM4/10/18
to Elements of Clojure
Hi,
Rereading the composition chapter, I came across the term "Principled component". 
This term is not known to me, maybe it's worth a definition or a footnote?

Seems to first appear on page 80. After a quick search, I see that "principled" is used
quite a lot, but I don't really know the meaning of that word.

Merriam Webster defines principled as 
"exhibiting, based on, or characterized by principle —often used in combination"
which doesn't help me much in this case.

Erik.

Zach Tellman

unread,
Apr 10, 2018, 3:41:49 PM4/10/18
to Erik Assum, Elements of Clojure
This term is introduced in the last section of the third chapter:

> There are two fundamental strategies for accomplishing this.  We can build a **principled** system, which has predictable relationships between its abstractions.  Alternately, we can build an **adaptable** system, which has sparse and flexible relationships between its abstractions.

> A principled system uses minimal internal indirection, and is usually structured as a hierarchy.  The implementation of each component is guided by the central design principles.  These principles, applied from the top down, allow each component to make broader assumptions.  This makes each component smaller and often faster, since there are consistent methods used throughout.

After this, there are diagrams and a number of real-world examples.  I'm not sure if you missed this, or just feel it's not sufficient.  Can you clarify?



--
You received this message because you are subscribed to the Google Groups "Elements of Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elements-of-clojure/4dd2e92d-2e74-4671-88bd-baaa574a324d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Erik Assum

unread,
Apr 10, 2018, 3:47:08 PM4/10/18
to Zach Tellman, Elements of Clojure
I missed it, and it’s probably sufficient. I need to reread and redigest.

Erik.
Reply all
Reply to author
Forward
0 new messages