On Mon, Mar 16, 2020 at 6:23 AM Edward K. Ream <edream...@gmail.com> wrote:

> When I awoke this morning I understood why you might suggest this. It
> would, supposedly, make it possible to instantiate multiple instances of
> the LeoApp class.  I have just created #1537
> <https://github.com/leo-editor/leo-editor/issues/1537> for this.
>

Thanks. Multiple instances of the class is just one possible benefit of
reduced coupling. I may make a pull request for this and if I do, I will
tag it with #1537.


> As noted in the issue, it's not clear whether changing `g.app` to `self`
> in the LeoApp class would make any real difference. It might well mislead
> people.
>

I agree it is just a drop in the ocean and to me it still makes a
difference. There are always tradeoffs. Is referencing a global variable
rather than self in every single method the best (or even a good) way to
not mislead people about the (current) requirement that LeoApp be a
singleton object? I don't think it is.


> The fact that g.app is a *singleton* instance of the LeoApp class is
> pretty much baked into Leo. For instance, g.app.db is an external file. Do
> we really want to complicate the code by creating a dummy instance of
> g.app.db in some cases?
>

I know there are many other examples of tight coupling throughout leo and
you are just picking g.app.db as one, but for that case leobridge already
uses g.NullObject for g.app.db, so the rest of leo code must already handle
that case.

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/CAO5X8Cyi0Pr1Nb6vhToOhsLCe4LPnfXKgSSiJy5zoPwDOdyyLw%40mail.gmail.com.

Reply via email to