Within the OO paradigm, we choose classes because they help us break down the system and provide good side benefits such as encapsulation, separation of duties, inheritance, modularity, etc.
If we look at the software system at the component level, can we just view the components in the same conceptual way, i.e. Is the component just a "big class"? Or is it still not?
What additional considerations should be considered when developing components?
EDIT:
I know that a class and a component are two different things. I also understand that a component can contain many classes, each of which has its own roles and responsibilities.
I will see if I can explain myself better.
- Classes allow us to solve big problems, because they allow us to think and design more abstractly.
- There are rules and methods for determining how to break down and assign data and functionality to classes.
This is similar to a very similar situation with component design, only at a higher level of abstraction. Are the methods used to determine which classes are needed to scale to components, and / or are there other things that affect the design of a high-level system that are not applied at the class abstraction level?
source
share