0

I have seen this question What is the difference between a class library and a framework

and throughout all the provided answers, the framework is always referenced as a framework. I am looking to get more technical. What exactly is a framework? A class of classes that control all functionality and provide ultimate abstraction and the ability to customize it? I am just looking to understand what exactly a framework is, as far as initializing it, not just what it accomplishes, but how exactly it is implemented. How I believe it's used/implemented is listed below.

variable = Framework() -> Reference the variable

Giorgi Tsiklauri
  • 9,715
  • 8
  • 45
  • 66
RonRon Scores
  • 163
  • 2
  • 11

1 Answers1

0

Framework is an infrastructure, ready-made and predefined, with some particular rules of the game on the "development field", according to which, you can build your application, on top of it, by "playing with framework rules" (you can, at some extent, customize those rules).

Spring MVC is a good example of Framework. You don't control how the View Resolving, Dispatching or Template Rendering happen and achieve a goal together.

Think of this as a big machine, where you can plug in and integrate your components which are applicable to that machine.


Library, on the other hand, is just a set of classes, which provide already implemented functionality out of the box, in order to not start inventing the bicycle again and again.

Apache Commons is a good example of the Library. It has a lot of ready tools and functionality to facilitate your work with String objects.

Think of this as a set of instruments and tools, using which, you can build your own machine.


With respect to how it is implemented question. This is like asking how the Boeing A220 is built?. I'm not sure anyone can describe here how the Framework is implemented in the details. But if I understood uour point about whether the Framework is used via classes, then:

Framework might provide some classes as an abstraction, yes, but it's not about them, it's more about mechanics of the entire system. The main thing it provides is the mechanism and mechanics of how the system is designed to work.

Giorgi Tsiklauri
  • 9,715
  • 8
  • 45
  • 66
  • great answer, but I wasn't asking about the difference , or the definition of each , but rather implementation. Like if i were to try to use a frame work, is it typically used in the form of an object that is referenced? – RonRon Scores Aug 15 '20 at 10:59
  • Framework might have classes, yes, but it's not about them. It's more about mechanics of the entire system. – Giorgi Tsiklauri Aug 15 '20 at 11:03
  • Like if I tried to reference a framework , in my application, what exactly will the reference point be? a object? – RonRon Scores Aug 15 '20 at 11:06
  • I get that its an abstraction , so there is an underlying system that makes things easier, but how are these frameworks typically interacted with in actual languages' – RonRon Scores Aug 15 '20 at 11:08
  • Your understanding about framework is not correct. When you use a plane, do you use its particular details to fly? Like engine, wings, propeller and etc. No, you just do very basic steps and the rest is implemented for you as a whole infrastructure. See my updated answer. – Giorgi Tsiklauri Aug 15 '20 at 11:09
  • your updated answer was what i was looking for , not the idea of a framework , but rather how us "the ones who the abstraction is created for" interact with the system... like you said thats like asking someone how a boeing a220 is built.. but there are flyers of the boeing a220... regardless of how complex something is , some human must interact with them in a point of time. – RonRon Scores Aug 15 '20 at 11:35
  • @RonRonScores sure, you have to leverage the framework the way it enables you to do so. – Giorgi Tsiklauri Aug 15 '20 at 12:13