--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
--- You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/keid7IGzKjk/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to clojure+unsubscribe@googlegroups.com.
On 10.05.2013 14:04, Colin Yates wrote:For what it's worth, some people in the OO community, most notably Nat
> 2) to provide a 'get-ds' accessor which returns a new instance and rely
> on passing that service along to every function that needs it?
Pryce and Steve Freeman of Growing Object-Oriented Software[1] fame,
advocate[2][3] this approach over using an IoC container.
Here's the punchline from [3]:
> Option 2 means functions are still pure, but how do you prevent huge
> lists of services - i.e. if func-a calls func-b which calls func-c and
> func-c needs service-a then func-a and func-b need to access service-a.
> Yuck. It also means the main entry point to my application needs to
> assemble all of these services up in one go.
If I later find that I can’t get access to some component that I
think I need, that’s not necessarily a bad thing. It’s telling me
that I’m introducing a new dependency and sometimes that’s a hint
that a component is in the wrong place, or that I’m trying to use
it from the wrong place. The coding bump is a design feedback
mechanism that I miss when I can just pull objects out of a
container. If I do a good job, I should find that, most of the
time, I have just the right components at the time that I need
them.
[1] http://www.growing-object-oriented-software.com/
[2] http://www.natpryce.com/articles/000783.html
[3]
http://www.higherorderlogic.com/2011/07/is-dependency-injection-like-facebook/
--
Timo
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/keid7IGzKjk/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Yes it does, thanks. It is amazing how much you can do in the typical spring/hibernate stack with a decent IDE without engaging your brain :).
Clojure involves far less ceremony and really does expose you to the raw elements of your problem domain and make you think.
This is of course a good thing, but boy is it quite humbling :). No more procrastinating by setting up JPA and thinking long and hard about "Java, Annotations or good old XML?".
I am definitely at the stage where I think Clojure's simplicity is very hard (according to Rich's "simple made easy" talk). Not implying Clojure's simplicity is only the lack of ceremonial frameworks!
Loving it, and yes, looking back I can see how easy it is to lose your solution amongst the staggering amount of incidental complexity.
I guess my (rambling) point is to reiterate that it is very easy to plaster over symptoms/effects using the very powerful framework beasts. The lack of them forces you to think, and hopefully remove the cause.
Finally, I have worked with some fantastic developers who happen to use Java to build incredibly elegant and transparent solutions. I have just worked with far more code monkeys, myself being one of them :).
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/keid7IGzKjk/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
Not specifically, nope.
Do any of the clojure books cover this topic?