Invariant Pattern implementations
// Binding protocol
export interface IBinder<TES extends IEventSource,
TS extends ILogicAtomSpecification> {
BindSyncConfirmation(
eventSource: TES,
atomSpecification: TS,
getParametersUI: () => CustomObject,
nonValidAction: (eo: ErrorObject) => void,
postActionUI: (resultObject: CustomObject) => void,
confirmation?:
(messageObject: CustomObject) => ConfirmationResult
): void;
...
}
Clean Architecture Implementation
The Invariant Pattern ensures a consistent and clean architecture across all platforms, adhering to key software design principles:
- Dependency Injection – Promotes modularity and testability.
- Interface Segregation – Encourages well-defined, purpose-specific interfaces.
- Single Responsibility Principle – Keeps components focused and maintainable.
- Open-Closed Principle – Enables easy extension without modifying existing code.
Languages and Platforms
Java CRUD app on GitLab
JavaFx, Java Swing
Investigate source code of CRUD application written on JavaFx and Java Swing UI platform with common used logic libraries.
Coming soonJava CRUD app on GitLab
Java Android
Investigate source code of CRUD application written on Java Android platform.
Coming soonC# CRUD app on GitLab
C# WPF, WinForms and UWP
Investigate source code of CRUD application written on C# with common used logic libraries.
Coming soonC# Unity app on GitLab
C# Unity
Investigate source code of game sample application written on C#.
Coming soonWeb CRUD app on GitLab
TypeScript, CSS, HTML
Investigate source code of CRUD application written on vanilla web using TypeScript, CSS and HTML.
Coming soonSwift macOS (Coming soon)
Desktop Swift App
Investigate source code of CRUD application written on Swift.
Coming soon