DCI is the solution to all architectural problems. вівторок, 25 листопада 2014 р. 08:57:07 UTC-8 користувач Xavier Noria написав: > > On Tue, Nov 25, 2014 at 5:37 PM, Jason Fleetwood-Boldt < > te...@datatravels.com <javascript:>> wrote: > > I agree that as a framework there is no architectural mandate, and that >> the idea that there is one is a (too) common misconception. It is >> unfortunate that people coming to the framework do not have the perspective >> to know that (and in turn create a lot of unsustainable code). >> >> The main architectural issue I would take with Rails in its entirety (and >> pitfall I’ve seen on dozens of badly written apps myself) is the >> encouragement of over-use of callbacks and, of course, the all-too-common >> domain logic where it shouldn’t be. I’m sure everyone knows on some level >> what I’m talking about, and yes, I agree this is not fundamentally Rails’ >> fault but instead the fault of the developers who use it. >> >> I wonder if there’s a way we can provide better documentation or training >> to alternatives design approaches — well within the paradigm of what Rails >> is currently capable of (as you pointed out). >> > > I don't know. > > For example, some people say business logic in AR models violates SRP! > ZOMG! And look at the ancestor chain! Look at user.methods.size, that... > must break some principle or another! > > Those people would write some kind of documentation. > > Other people look at the code and say: it's fine and simple to understand, > models encapsulate, some models are not ARs, controllers coordinate. Find a > balance. Extract as needed. Do after/before comparisons. Works like a charm > for many applications. If it does not work for your particular application, > grow a design tailored for it. > > In my view, It depends so much on the application and personal design > preferences that you cannot generalize. I don't think "if your ARs grow too > big insert an entire new layer of POROs and extract everything there" is an > advice you can document like that in the Rails documentation, to pick an > example. And the Rails documentation shouldn't have a catalogue of patterns > that we generally cannot recommend by heart. > > > > >
-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.