-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[COMPONENTS] Introduce components architecture in the project #111
Closed
Comments
svlad-90
added a commit
that referenced
this issue
Sep 19, 2020
1. [X] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [X] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [X] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [X] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Introduction of the DMA_Plantuml concept, which allows to declare plantuml metadata within the C++ code - Integration of DMA_Plantuml concept into the project >> Verification criteria: - DMA_Plantuml concept tested on Windows - All Git hub checks were passed
4 tasks
4 tasks
svlad-90
added a commit
that referenced
this issue
Sep 19, 2020
1. [X] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [X] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [X] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [X] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Introduction of the DMA_Plantuml concept, which allows to declare plantuml metadata within the C++ code - Integration of DMA_Plantuml concept into the project >> Verification criteria: - DMA_Plantuml concept tested on Windows - All Git hub checks were passed
svlad-90
added a commit
that referenced
this issue
Sep 19, 2020
1. [X] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [X] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [X] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [X] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Introduction of the DMA_Plantuml concept, which allows to declare plantuml metadata within the C++ code - Integration of DMA_Plantuml concept into the project >> Verification criteria: - DMA_Plantuml concept tested on Windows - All Git hub checks were passed
svlad-90
added a commit
that referenced
this issue
Sep 19, 2020
[ISSUE #111][COMPONENTS] Introduce component architecture to the project
DMA_Plantuml concept was developed to allow declaration of metadata for UML diagrams in the C++ source code: #112 |
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
4 tasks
4 tasks
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 8, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the analyzer folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
4 tasks
4 tasks
svlad-90
added a commit
that referenced
this issue
Dec 28, 2020
[ISSUE #111][COMPONENTS] Introduce components architecture in the project
svlad-90
added a commit
that referenced
this issue
Dec 29, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the dltWrappers folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
4 tasks
4 tasks
svlad-90
added a commit
that referenced
this issue
Dec 29, 2020
[ISSUE #111][COMPONENTS] Introduce components architecture in the project
svlad-90
added a commit
that referenced
this issue
Dec 31, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the settings folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
4 tasks
svlad-90
added a commit
that referenced
this issue
Dec 31, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the settings folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 31, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the settings folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 31, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the settings folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 31, 2020
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Creation of the separate component from the settings folder of the project - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
svlad-90
added a commit
that referenced
this issue
Dec 31, 2020
[ISSUE #111][COMPONENTS] Introduce components architecture in the project
svlad-90
added a commit
that referenced
this issue
Jan 2, 2021
…ject 1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)? 2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? 3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows? 4. [x] Is your change backward-compatible with the previous version of the plugin? >>> Change description: - Shift of the sources located within the "src" folder into the "plugin" folder - Adaptation of the project - Update of the class diagrams - Update of README >>> Verification criteria: - Manually checked on the Windows platform - All sanity checks on Git Hub were passed
4 tasks
svlad-90
added a commit
that referenced
this issue
Jan 2, 2021
[ISSUE #111][COMPONENTS] Introduce components architecture in the project
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
While creating a class diagram for #51 is was identified, that the structure of classes becomes too coupled. Especially between "DMA base" and the other folders of the project. In order to reduce coupling, it is better to introduce the component abstraction.
CComponentRegistry class should be declared, which will register all components.
The interface IComponent should be declared.
The interface IController should be declared.
Each root-level folder within the project should implement the IComponent interface.
Each class, which is created within the specific component should implement IController and be registered as an internal controller.
Each class, which comes from outside should implement IController and be registered as an external dependency.
IComponent should be able to register multiple IController instances.
IController should be able to register multiple IController instances as well, meaning that we might have sub-controllers ( and sub-sub-controllers, etc. ).
The component is responsible for the creation of its controllers and for the binding of all involved entities.
The controller is responsible for the creation of its sub-controllers and for the binding of all involved entities.
IComponent has reference to all child IController-s. Each IController instance has references to its parent IController, parent IComponent ( if it is a sub-controller ), and child IController-s. Still, only CComponentRegistry has all the data. All IComponent and IController instances are getting dependency data from CComponentRegistry.
The final point would be to create a trace dump, which would represent the dependency map, which we could visualize in plantuml and analyze.
The text was updated successfully, but these errors were encountered: