-
Spring in Practice: Design Patterns used in Spring Framework
Following are the design patterns used in Spring Framework Design Pattern Details MVC Pattern MVC Design Pattern is a software design that separates the following components of a system or subsystem: Model – Data about the state of the application or its components. May include routines for modification or access. View – An interpretation of the data […]
-
SOLID Prinicples
S Single Responsibility: Klassen darf nur eine zuständigkeit haben O Open Closed Principle: Offen gegnüber Erweiterung closed für Änderungen Sollte ohne änderungen an Klasse erweiterbar sein. Falscher Weg Public class StringTransformer { String anyString; …. Public String Transform() { Return anyString.toUpperCase(); } Static void main(string[] args) { Transformer = new StringTransformer(„Foo“); Println(transformer.transform()); } } Richtiger […]
-
Design Patterns
Creational Design Patterns Name Short Definition Advantage Usuage Factory Method Pattern Virtual Constructor Factory Method Pattern allows the sub-classes to choose the type of objects to create. It promotes the loose-coupling by eliminating the need to bind application-specific classes into the code. That means the code interacts solely with the resultant interface or abstract class, so […]
-
Microservices mit Choreographie oder doch mit Orchestration
Microservices sind so schon kompliziert und denn kommt noch dazu man muss für eine der Pattern benutzen und es verstehen bevor man es anwendet. Es gibt viele Patterns für Microservices. Hier werde ich erstmals nur zwei Prominente Varianten vorstellen und meine Meinungen dazu geben. Weil wir weg von Monolith sind wo ganze System als eine […]
-
SOLID Design Principles for Developers
In my search of writing better code I came along with an Article about SOLID Prinicples. These principles helps to write better code in Medium to Big Projects. Robert C. Martins also known as „Uncle Bob“ advocates SOLID Design Prinicples which helps Developers in Writing Clean code. In short are these presented here. While Microservices […]
-
Benutzerdefinierte Endpoint mit Actuator in Spring
Actuator ist eine ganz nützliches Tool bei Überwachung von Microservice. Spring boot nutzt dies ganz gut für Instrumentation und Monitoring. Es kommt aber ab und zu ein Anforderung es zu erweitern. Actuator gibt da so eine Möglichkeit mithilfe von @Endpoint. Problem: „A“ hat eine Externe Abhängigkeit für eine API von „B“ und möchte Verfügbarkeit von […]
-
Angular: Guards
Sind sehr gut um Routes zu schutzen und unwillige verlassen von seite zu verhindern oder erlauben. Guards sind in Route folgende Arten möglich CanDeactivate- entscheidet ob eine route deaktiviert werden kann CanActivate- – entscheidet ob eine route aktiviert werden kann CanActivateChild– entscheidet ob eine kinder route eine route aktiviert werden kann CanLoad- entscheidet ob module […]
-
Spring in Practice: Validation Service für Entitäten
Annotiere Entität mit @Notnull Entität Column(unique=true, nullable= false) In Service Hole ValidationService wie folgt rein @Inject validationService<Entität> validatorService; bei speicher soll ValidationService.validate aufrufen Erstelle Entität Validation Service extends von ValidationService<Entität-Name> @Override doCustomValidations Methode Super.doCustomValidations und bekomme result zurück Finde in repository wenn eine Entität vorhanden ist Wenn ja füge in result liste neue violation mithilfe […]
-
Spring in Practice: Mockito und Spring
Eine der haupt merkmal von spring ist Dependcy Injection. Also meistens wird irgendwas ins irgendwas reingeholt. Um solche Java Objekte zu Testen benötigt man Differzierung um welche Funktionalität es gerade geht. Also wir benötigen ein Objekt der so verhalt wie reingeholt aber muss nicht gleich ausführlich sein aber manchmal auch. Mockito kommt da in spiel […]
-
Spring in Practice: JMS Testing
JMS Listener Erstellen Wir erstellen erstmals eine Klasse für JMS um Entitäten zu lesen. Hier zu sehen ist durch @Component kann Spring es Intializieren und wegen @ConditionalOnProperty wird es nur denn intializiert wenn property auf TEST_JMS_PUBLISH_BOOK vorhanden ist. Dadurch wenn eine Topic wird von uns geschreiben wir bekommen es mit. Mit @JmsListener können wir auf […]