Live data from Hacker News

Do Not Learn Frameworks – Learn the Architecture

kukuruku.co

81–86 of 86 posts

Re: Do Not Learn Frameworks – Learn the Architecture

#81
post #61

I have been doing web development for last 1 year. Can someone recommend a resource to learn Architecture?

Martin Fowler's _Patterns of Enterprise Application Architecture_ is excellent. Remember, the best architecture is minimal architecture, because architecture is the fundamental, hard-to-change patterns in your code. So learn architecture, but also learn how and when to make it unnecessary.

Yes, your point of making it unnecessary is really important. When you see patterns, etc. for the first time, it gets very tempting to over engineer stuff.

Re: Do Not Learn Frameworks – Learn the Architecture

#82

Earlier quoted context omitted.

But a good framework has well chosen abstractions that took many person-hours to settle upon, a community of engineers working to perfect it, and probably uncountable hours of production battle-testedness.

> has well chosen abstractions That's a rather large leap of faith. It's more likely that it has a bunch of abstractions that were chosen early in the project when the maintainers were young, dumb, and eager; that have since shown their age and have been worked around repeatedly; but can't be removed due to being core to the framework and having a large body of applications depending on them.

Not all frameworks. Good frameworks. The best incorporate the lessons learned from working with previous frameworks.

Re: Do Not Learn Frameworks – Learn the Architecture

#83

Earlier quoted context omitted.

With one small difference: you'll likely have a much larger attack surface because the third party framework was created to do much more than to just service your applications. And all that code will need to be maintained now. That can get very costly.

If that's really the case you could easily just cut out features you don't intend to use.

Really? What about cross-cutting features like logging, sessions, debug hooks, et cetera?

That's a non-trivial refactor right there.

Re: Do Not Learn Frameworks – Learn the Architecture

#84

Earlier quoted context omitted.

If that's really the case you could easily just cut out features you don't intend to use.

Really? What about cross-cutting features like logging, sessions, debug hooks, et cetera? That's a non-trivial refactor right there.

Well, true, although, from your list, it's hard to think of application where you wouldn't want those things.

Re: Do Not Learn Frameworks – Learn the Architecture

#85

Earlier quoted context omitted.

Really? What about cross-cutting features like logging, sessions, debug hooks, et cetera? That's a non-trivial refactor right there.

Well, true, although, from your list, it's hard to think of application where you wouldn't want those things.

[deleted]

Re: Do Not Learn Frameworks – Learn the Architecture

#86

Earlier quoted context omitted.

Really? What about cross-cutting features like logging, sessions, debug hooks, et cetera? That's a non-trivial refactor right there.

Well, true, although, from your list, it's hard to think of application where you wouldn't want those things.

Exactly. And rolling your own is pretty wasteful when most "off the shelf" ones are good enough for most use cases.
Post reply on HN