<div dir="ltr"><div>Hi,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 14, 2020 at 1:38 PM Thorsten Behrens <<a href="mailto:thb@libreoffice.org">thb@libreoffice.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Noel Grandin wrote:<br>
> It seems to me that in quite a few places we are using UNO as a<br>
> means of papering over circular dependencies.<br>
><br>
Would call that papering over - ain't that quite standard-issue<br>
dependency-inversion?<br></blockquote><div> </div><div>I'd call it a flaw in the dependency hierarchy, which means something is located at a wrong place. I know that this can be a "standard-issue" but mostly because a lot of times fixing the hierarchy is a lot of work and moving things around, but this doesn't mean breaking a circular dependency in such a way should be taken lightly or is a good thing.  <br></div><div><br></div><div>As for UNO - to me UNO API is for making the functionality available to extensions, macros, tests. If we use UNO just to circumvent a circular dependency, how is that anything but a misuse of UNO API? If we extend the UNO API from the point were it is not required for extension development, it is prone to be used for things that were never meant to be used externally and also YAGNI. <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Cheers,<br>
<br>
-- Thorsten<br></blockquote><div><br></div><div>Best regards, Tomaž <br></div></div></div>