Files
Masterarbeit/Versuche/Versuch 03/Ergenisse/software/Pattern_Catalog.csv
2026-02-19 11:21:18 +01:00

5.3 KiB

1PatternIDPatternNameCategoryFrequencyComplexityExamplesGuidelinesStatus
2P001ILogic Interface PatternArchitectureVery HighMediumIAccountsLogic-BLAccountsLogic-WSAccountsLogicUse dual BL/WS implementation for all data accessActive
3P002Result<T> Error HandlingError HandlingVery HighLowTask<Result<AccountDTO>> GetAccountAsync()Always return Result<T> or Task<Result<T>>Active
4P003ClassContainer Dependency InjectionDependency InjectionVery HighMediumClassContainer.Instance.WithInstance((ILogic logic) => ...)Use for all service resolution and disposalActive
5P004BL/WS Dual ImplementationArchitectureVery HighHighBLAccountsLogic vs WSAccountsLogicImplement both database and web service accessActive
6P005DTO Entity ConversionData TransformationVery HighMediumConvertAccountDeviceDTOToAccountDevice()Convert between entities and DTOs at service boundariesActive
7P006MVVM BindableBase PatternUI ArchitectureVery HighMediumViewModel : BindableBaseAll ViewModels inherit from BindableBaseActive
8P007NHibernate Session ManagementData AccessVery HighHighusing (var session = new BLSession())Manage NHibernate sessions in using statementsActive
9P008Guard Validation PatternValidationHighLowGuard.NotNull(parameter, "parameter")Validate all method parameters with Guard clausesActive
10P009Async Task ConfigureAwaitPerformanceHighLowawait method().ConfigureAwait(false)Use ConfigureAwait(false) for library codeActive
11P010External API Client PatternIntegrationMediumHighFinApiClient : RestClientBaseInherit from RestClientBase for external APIsActive
12P011AppModuleController RegistrationUI Module ManagementHighMediumICentronAppModuleController implementationRegister all UI modules with rights and featuresActive
13P012Ribbon Interface PatternUI NavigationMediumMediumIRibbonControlModule implementationImplement ribbon interfaces for UI integrationActive
14P013Request/Response DTO PatternWeb ServiceVery HighMediumSearchAccountsThroughPagingRequestUse typed request/response objects for web servicesActive
15P014Cache Update Service PatternPerformanceLowHighCacheUpdateService with background executionImplement background services for cache managementActive
16P015Authentication Attribute PatternSecurityHighLow[Authenticate] on web service methodsApply authentication attributes to all protected endpointsActive
17P016Localization Resource PatternInternationalizationHighMediumLocalizedStrings.resx, LocalizedStrings.en.resxSupport German primary with English fallbackActive
18P017Database Script VersioningData MigrationHighHighScriptMethod{number}.cs with ApplicationVersionVersion all database changes with sequential scriptsActive
19P018User Rights Constant PatternSecurityHighMediumUserRightsConst.Sales.Customer.SHOW_*Organize user rights in hierarchical constantsActive
20P019Settings Management PatternConfigurationHighMediumApplicationSettings table vs legacy StammdatUse ApplicationSettings for new settings onlyActive
21P020Entity Validation PatternBusiness LogicHighMediumEntity property validation in BL classesImplement business rule validation in entity classesActive
22P021Audit Trail PatternData SecurityMediumMediumCreatedByI3D, ChangedByI3D, DeletedByI3D columnsInclude audit columns in all business tablesActive
23P022Soft Delete PatternData ManagementHighLowIsDeleted, DeletedDate, DeletedByI3DUse soft deletes instead of hard deletesActive
24P023Background Service PatternPerformanceMediumHighManagedBackgroundService base classInherit from ManagedBackgroundService for background tasksActive
25P024JSON Web Token PatternSecurityMediumMediumJWT token management in external APIsUse JWT for external API authenticationActive
26P025Circuit Breaker PatternIntegrationLowHighError handling with retry logicImplement circuit breakers for external service callsActive
27P026Repository PatternData AccessHighHighEntityBL classes with DAO accessImplement repository pattern through BL classesActive
28P027Unit of Work PatternData AccessHighHighBLSession manages NHibernate sessionUse BLSession for transaction boundariesActive
29P028Observer PatternUI UpdatesMediumMediumINotifyPropertyChanged implementationUse for UI data binding and change notificationsActive
30P029Command PatternUI ActionsHighMediumDelegateCommand implementationsUse commands for UI actions and button bindingsActive
31P030Factory PatternObject CreationMediumMediumWebServiceBL creates base BL instancesUse factories for complex object creationActive
32P031Decorator PatternCross-cutting ConcernsMediumMediumWebServiceBL decorates base BL with DTO conversionUse for adding behavior to existing classesActive
33P032Template Method PatternCode ReuseMediumMediumBase BL classes with virtual methodsDefine algorithm structure in base classesActive
34P033Strategy PatternConditional LogicMediumHighDifferent authentication strategiesUse for varying algorithms or business rulesActive
35P034Facade PatternSystem IntegrationHighHighCentronRestService as API facadeProvide simplified interface to complex subsystemsActive
36P035Proxy PatternRemote AccessHighHighWS Logic classes proxy to web servicesUse for remote service access and cachingActive