83 votes

Does following SOLID lead to writing a framework on top of the tech stack?

Your observation is correct, the SOLID principles are IMHO made with reusable libraries or framework code in mind. When you just follow all of them blindly, without asking if it makes sense or not, ...
Doc Brown's user avatar
  • 203k
51 votes
Accepted

What advantage was gained by implementing LINQ in a way that does not cache the results?

What advantage was gained by implementing LINQ in a way that does not cache the results? Caching the results would simply not work for everybody. As long as you have tiny amounts of data, great. Good ...
nvoigt's user avatar
  • 7,689
49 votes

Does following SOLID lead to writing a framework on top of the tech stack?

From my experience, when writing an app, you have three choices: Write code solely to fulfil the requirements, Write generic code that anticipates future requirements, as well as fulfilling the ...
David Arno's user avatar
  • 39.1k
25 votes
Accepted

ASP.NET Projects using too much .NET Boilerplate Libraries / Code

When you start a project and have a particular need, you have a choice: Either you implement your own solution from scratch, Or you use an existent library or framework. When implementing your own ...
Arseni Mourzenko's user avatar
25 votes

What advantage was gained by implementing LINQ in a way that does not cache the results?

What advantage did Microsoft hope to gain by implementing it this way? Correctness? I mean, the core enumerable can change in between calls. Caching it would produce incorrect results and open the ...
Telastyn's user avatar
  • 109k
22 votes

Dependency injection: should I use a framework?

The key of DI containers is the abstraction. DI containers abstract this concern for you. As you may guess, it has a noticeable impact on the code, often translated into a fewer number of constructors,...
Laiv's user avatar
  • 14.5k
19 votes
Accepted

Does it make sense to keep updating the version of Bootstrap used in my web application?

You can think about updating Bootstrap the same way you would think about any other dependency. Does it introduce breaking changes? What benefits do you get from upgrading? Do the benefits outweigh ...
Way Spurr-Chen's user avatar
10 votes

Dependency injection: should I use a framework?

In my experience, a dependency injection framework leads to a number of issues. Some of the issues will depend on the framework and tooling. There might be practices that mitigate the issues. But ...
Winston Ewert's user avatar
10 votes
Accepted

Does the use of frameworks make it unnecessary to learn design patterns?

Most frameworks already use a lot of known software design patterns. So you are using design patterns unknowingly. That said, I would strongly suggest you try learning at least the most common ones. ...
Tulains Córdova's user avatar
10 votes
Accepted

Clean Architecture: Dependency Rule and Libraries/Frameworks

Your observation is correct. However, that does not mean the "Clean Architecture" approach is wrong in general. One major technique to decouple things from "outer rings" like the database layer or ...
Doc Brown's user avatar
  • 203k
9 votes
Accepted

Why is JUnit called a Framework?

A simple rule of thumb that many use for whether to call something a library or framework is: Does the external code call your code, ie does the external code control your code? Is yes, it's a ...
David Arno's user avatar
  • 39.1k
9 votes
Accepted

Details about certain large enterprises and government agencies only using technologies that have existed for a while

We can neither confirm nor deny such a statement. Risks, reliability and predictability Governments and large enterprise are very risk adverse and tend to prefer proven technology, that is well ...
Christophe's user avatar
  • 75.9k
9 votes

Does the use of frameworks make it unnecessary to learn design patterns?

Remember, the original GoF book has the full title "Design Patterns. Elements of Reusable Object-Oriented Software.". And most of the GoF patterns have that purpose - build software which can be put ...
Doc Brown's user avatar
  • 203k
8 votes

Details about certain large enterprises and government agencies only using technologies that have existed for a while

I very much doubt that any organization has a policy that explicitly proscribes an age of technologies it will consider for use. What is somewhat common is to have a list of "allowed" technologies ...
Michael Borgwardt's user avatar
8 votes

How to choose NOT to use a framework (Caliburn.Micro, etc.) in a given MVVM application?

My first experience with WPF has been using Caliburn.Micro so this is probably quite different from most developers. I have found both WPF and Caliburn.Micro to be quite a steep learning curve, coming ...
Web Dev's user avatar
  • 425
8 votes

You don't call the Framework, it calls you

Like many dynamically-typed scripting languages, in Python functions are first-class values, which means they can be passed into and returned from functions just like any other ordinary value. So the ...
Ixrec's user avatar
  • 27.7k
8 votes
Accepted

Is coupling a good thing or bad thing when I'm developing standalone modules in a framework?

Is coupling a good thing or bad thing when I'm developing standalone modules on framework? Coupling is an unavoidable thing if you want things to work together. What you work towards is loose or ...
candied_orange's user avatar
8 votes

Does following SOLID lead to writing a framework on top of the tech stack?

The perspective you have can be skewed by personal experience. This is a slippery slope of facts that are individually correct, but the resulting inference isn't, even though it looks like correct at ...
Flater's user avatar
  • 47.6k
8 votes

Is it better to use frameworks with strict structural requirements?

I'm quite confused and don't really know which would be objectively better That's because there is no "objectively better." "Better" depends on what your goals are. If your goals are to use an ...
Robert Harvey's user avatar
8 votes
Accepted

Do blockchains provide any improvement over conventional systems/frameworks when decentralization is not required?

a COMPANY (therefore not decentralized) wanted to make a product or system that did XYZ, what benefits does blockchain provide over conventional frameworks? In many cases, nothing whatsoever. And a ...
Philip Kendall's user avatar
7 votes
Accepted

You don't call the Framework, it calls you

In python, a variable can contain just about anything; that includes (but not limited to) a number, a string, a class object, or.. a function. As you're probably already aware, the usage of (i.e. the ...
Ben Cottrell's user avatar
  • 11.7k
7 votes

Blurred line between a framework and an SDK

There cannot be a canonical definition for these terms, as different people/companies use the terms in different, subjective, ways. From experience, the following definitions are often used and are ...
David Arno's user avatar
  • 39.1k
7 votes

Are Dependency Injection Frameworks Useful in Dynamically Typed Languages?

The main benefit of a DI framework is that it moves construction into a different language (xml, json, whatever). This enforces not mixing construction code with behavior code. It's a poor programming ...
candied_orange's user avatar
7 votes
Accepted

Why do frameworks give more flexibility to models than controllers?

"Model" in this context (and in the context of MVC, MVP, MVVM, etc.) is not something you use for database access. It is not a data model. It also doesn't refer to "view models" that you may find in ...
Filip Milovanović's user avatar
7 votes

ASP.NET Projects using too much .NET Boilerplate Libraries / Code

Yes, most places I've worked at use some of those libraries. It is tempting to see them as bloat, I for one dislike Entity Framework and tend to 'hand crank' my repositories. But, in fact the ...
Ewan's user avatar
  • 72.4k
7 votes

Does following SOLID lead to writing a framework on top of the tech stack?

How does SOLID turn simple code into framework code? I'm not a stan for SOLID by any means but it's really not obvious what you mean here. KISS is the essence of the Single Responsibility Principle. ...
David Moles's user avatar
6 votes
Accepted

Why is there such a fight for companies to produce new languages + frameworks

Companies are doing this in order to make some product or platform (on which they earn a profit) more attractive. For example Apple is developing Swift in order to make iOS development more attractive ...
JacquesB's user avatar
  • 57.7k
5 votes

Automatic Downcasting

processAction clearly cannot work on the base action and state types, so you need to make the types that need to be passed as parameters specifically the types that processAction can work with. To ...
Jimmy Hoffa's user avatar
5 votes

Is there any disadvantage to using Eclipse Collections exclusively?

Eclipse Collections is a pretty mature library. It's been under development for over a decade at Goldman Sachs (it used to be "GS Collections") in order to handle larger collections with less garbage ...
SusanW's user avatar
  • 1,035
5 votes

Why do frameworks give more flexibility to models than controllers?

Because business logic is not one of the responsibilities of controllers, and MVC is all about separation of concerns. You're not looking at this right. The whole point of MVC is to provide a ...
Robert Harvey's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible