Pattern, Abstract Factory / Factory

Marco Antoniotti marco.antoniotti at unimib.it
Sat Feb 6 21:27:04 UTC 2021


I know I could look it up in Wikipedia, but posing the question here may
probably generate more amusement.

WTF is a “dependency injection”?

MA


On Sat, 6 Feb 2021 at 22:18, Scott McKay <swmckay at gmail.com> wrote:

>
> Nobody in the list community ever invented a fancy pants term like
> “dependency injection”
> because it’s so obvious how to do this that nobody thought to give it a
> name.
>
> —Scott
>
> > On Feb 6, 2021, at 4:07 PM, Manfred Bergmann <manfred.bergmann at me.com>
> wrote:
> >
> > 
> >
> >> Am 06.02.2021 um 21:44 schrieb Luís Oliveira <luismbo at gmail.com>:
> >>
> >>> On Sat, 6 Feb 2021 at 20:07, Rudi Araújo <rudi.araujo at gmail.com>
> wrote:
> >>> Class::newInstance() doesn't have any parameters (also, it's
> deprecated: better to use getConstructor() or getDeclaredConstructor() and
> call newInstance() on it).
> >>
> >> I guess this bit about getConstructor() explains why it'd be more
> >> convenient to use a Factory, or the Factory method pattern, or some
> >> dependency injection framework.
> >>
> >
> > Yeah. Could be.
> > But this constructor thingy could be hidden in a function similar as you
> would create a constructor function make-foo in Common Lisp.
> > The reflection stuff is not considered a good practice in certain types
> of applications.
> >
> > Dependency injection is about something else IMO. Well, Abstract Factory
> is about it, too, inversion of control.
> > It allows you to create something without having to know the concrete
> type and without having to have a source dependency on it.
> > In Common Lisp this could be solved easily by just separating a protocol
> from the implementation, maybe in separate packages.
> >
> >
> >
> > Manfred
>
> --
Marco Antoniotti, Associate Professor         tel. +39 - 02 64 48 79 01
DISCo, Università Milano Bicocca U14 2043 http://bimib.disco.unimib.it
Viale Sarca 336
I-20126 Milan (MI) ITALY
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20210206/471b3da4/attachment-0001.html>


More information about the pro mailing list