|
|
|
|
|
by snapdaddy
1102 days ago
|
|
I don't think it was software architecture, UML or design patterns that was bad. I think the 'Open-Closed Principle' is one of the worst ideas to ever gain popular acceptance. For anyone who didn't live through that time, the Open-Closed Principle states that software should be open for extension, but closed for modification. However, you could also rephrase that principle to be: 'you should always prematurely abstract your designs'. I think if abstraction was viewed as a negative to be avoided unless necessary, software architecture would have been far better off. To be fair, premature abstraction is a lot of fun for those that do it. It's just those that follow who aren't so keen. |
|
E.g. I don't create an abstraction in case I someday need to switch the database from SQL to NoSQL, but when I need the abstraction right now for an alternative implementation (e.g. mocks for testing).