Clean Code - Components

Een component is niets anders dan een onafhankelijke deployable library, zoals een dll. Onafhankelijk deployable houdt in dat een verandering in 1 component geen invloed heeft op het compileren en deployen van andere componenten. De voordelen van afhankelijke componenten zijn dat zij onafhankelijk van elkaar kunnen worden deployed, maar ook onafankelijk van elkaar kunnen worden ontwikkeld. Het laatste is erg belangrijk als er gewerkt wordt in teamverband,

Bij het ontwerpen van een design is het verstandig om de SOLID principle toe te passen.
Als eerste begin je met het Single Responsibility Principle. Dit houdt in dat je gaat bepalen wie de actors zijn. Met andere woorden, welke groepen mensen/gebruikers zullen veranderingen vragen van het systeem. Nadat de actors bekend zijn, worden de namen van de modules bepaald. Een actor representeer een module. De naam van de module is altijd abstract en kent geen details. Voorbeeld: bij de actor die de gaat over de communicatie van het systeem spreek je niet over het asp.net mvc framework, maar over de UI. UI is een abstracte naam, want de implementatie er van kan bijvoorbeeld een windows app, mobile app of een web applicatie.
Als de namen bekend zijn wordt de communicatie tussen deze objecten bepaald. Ook de naamgeving van de communicatie is abstract. Middels pijlen tussen de objecten wordt de communicate weergegeven.
Vervolgens worden van alle abstracte modules een concrete implementatie gemaakt die dus erven van de abstracte modules. Deze concrete implementaties worden op hun beurt weer aangeroepen en aangemaakt door Main.

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren