<p dir="ltr"></p>
<p dir="ltr">On Sep 25, 2016 16:49, "Mads Kiilerich" <<a href="mailto:mads@kiilerich.com">mads@kiilerich.com</a>> wrote:<br>
><br>
> On 09/25/2016 04:37 PM, Thomas De Schampheleire wrote:<br>
>><br>
>> On Sun, Sep 25, 2016 at 4:10 PM, Mads Kiilerich <<a href="mailto:mads@kiilerich.com">mads@kiilerich.com</a>> wrote:<br>
>>>><br>
>>>> (It should thus perhaps not be in lib but in model?)<br>
>>><br>
>>> I think the web framework, like tg2 does, may expect helpers to be in lib.<br>
>>> We can tell it about another location, but I don't know if that's worth it.<br>
>>><br>
>>><br>
>>> Hmm. That suggests that my idea of lib as low level and model as more high<br>
>>> level doesn't work. That model perhaps should be considered an internal part<br>
>>> of lib ... or something like that.<br>
>><br>
>> In a traditional MVC model-view-controller split, 'model' is one of<br>
>> the three pillars. In that view, I think it shouldn't be 'stuffed<br>
>> away' in lib.<br>
>><br>
>> I don't know if you should try to put model and lib on the same scale.<br>
>> I think they are in some way orthogonal, especially things like<br>
>> lib.{helpers,utils}. For me, the core of 'model' is the definition of<br>
>> the data model, thus the database tables, and perhaps very related<br>
>> set-up code.<br>
>><br>
>> 'lib' is currently (but maybe logically) a 'trashbin', a collection of<br>
>> code that does not really fit elsewhere, but can be considered<br>
>> 'libraries', i.e. each being standalone and doing some job that helps<br>
>> someone else. 'utils'/'helpers' is even more a trashbin collection<br>
>> that did not even fit in logically named files.<br>
><br>
><br>
> Does that mean that lib neither is "below" nor "above" model </p>
<p dir="ltr">Yes</p>
<p dir="ltr">> ...but it is ok that they have mutual dependencies? That seems unfortunate.</p>
<p dir="ltr">In any case I think mutual dependencies are bad and should be eliminated. But I don't think we should treat 'lib' as one thing and dictate that it should only have inward or only have outward dependency arrows. Rather, I'd look at the individual entities inside lib, e.g. Annotate.py, paster_commands, helpers, vcs, ...<br>
For each of them, we should decide whether it can depend on model , or if model can depend on it (but not both).</p>
<p dir="ltr">><br>
> While I agree that the model is special and "very different", I still think we have to decide whether it is below or above lib. Or perhaps lib should be split up in low and high level parts.</p>
<p dir="ltr">Yes, I think this lines up with what I wrote above.</p>
<p dir="ltr">><br>
> It also sounds like your investigation and experiments show a different than my initial idea. Great! :-)</p>
<p dir="ltr">So far, all I did was the two patches I sent to the list, and theorize with you via email. :-)</p>