Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

6
  • 4
    One disadvantage I don't think you covered is that the use of lazy-loading can create issues. To say it prevents performance problems seems a little backwards in my experience. It saves space iff you aren't using everything. But the first things to come along and ask could have to wait for a while and maybe error out. On a slightly different note, you also won't know about a configuration issue with those services until they are requested. Often you end up 'warming' things up which defeats the purpose. Commented Dec 20, 2018 at 21:13
  • 1
    @JimmyJames better? Commented Dec 21, 2018 at 2:12
  • 1
    Your argument about creation and behavior being separate doesn't make much sense to me. Generally, creation is where most if not all of the complex behavior should happen, unless the object is intrinsically mutable. I feel that this philosophy nudges towards making more singletons and services than what is absolutely necessary. Commented Dec 21, 2018 at 10:20
  • @Kafein I already provided one link about that. Here's another. Maybe you should post a question. Commented Dec 21, 2018 at 11:32
  • 2
    @Kafein - Even if the object is not intrinsically mutable, it may still have a boatload of complex behaviours inside - for instance, knowing how best to pass data from one source to another. If the object is stateless (or stateful, but immutable), the creation logic might be very simple but the internal logic very complex. Commented Dec 21, 2018 at 12:26