⌂ ÜbersichtModulaudits

Design Patterns

Vollständige, aus den Codekommentaren erzeugte Pattern-Inventur mit Zweck, Einsatzort und Begründung.

82Pattern-Marker
68/68Teilmodule abgedeckt
ModulVariantePatternEinsatzortBegründung
AOPLegacyProxyprojects/02-aop/legacy/src/main/java/at/aydin/lab/aop/legacy/LoggingProxy.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
AOPModernInterceptor / Aspectprojects/02-aop/modern/src/main/java/at/aydin/lab/aop/modern/TrackingAspect.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Annotations und ReflectionLegacyRegistryprojects/14-annotations-reflection/legacy/src/main/java/at/aydin/lab/annotations/legacy/LegacyCommandRegistry.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Annotations und ReflectionModernCommand + Metadata Registryprojects/14-annotations-reflection/modern/src/main/java/at/aydin/lab/annotations/modern/CommandRegistry.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
BatchLegacyMapperprojects/06-batch/legacy/src/main/java/at/aydin/lab/batch/legacy/CsvOrderParser.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
BatchLegacyTemplate Method (manuell angedeutet)projects/06-batch/legacy/src/main/java/at/aydin/lab/batch/legacy/LegacyBatchImporter.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
BatchModernPipelineprojects/06-batch/modern/src/main/java/at/aydin/lab/batch/modern/BatchConfiguration.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
CollectionsLegacyCollection Wrapperprojects/12-collections/legacy/src/main/java/at/aydin/lab/collections/legacy/LegacyInventory.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
CollectionsModernSnapshotprojects/12-collections/modern/src/main/java/at/aydin/lab/collections/modern/Inventory.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
ConcurrencyLegacyTask Executorprojects/16-concurrency/legacy/src/main/java/at/aydin/lab/concurrency/legacy/LegacyTaskRunner.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
ConcurrencyModernTask Executorprojects/16-concurrency/modern/src/main/java/at/aydin/lab/concurrency/modern/VirtualThreadTaskRunner.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Dependency InjectionLegacyService Locatorprojects/01-dependency-injection/legacy/src/main/java/at/aydin/lab/di/legacy/ServiceRegistry.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Dependency InjectionModernConstructor Injectionprojects/01-dependency-injection/modern/src/main/java/at/aydin/lab/di/modern/GreetingRunner.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Dependency InjectionModernPort (Hexagonal Architecture)projects/01-dependency-injection/modern/src/main/java/at/aydin/lab/di/modern/GreetingPort.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
EJB und ServicesLegacyRemote Facadeprojects/27-ejb-services/legacy/src/main/java/at/aydin/lab/ejb/legacy/OrderRemote.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
EJB und ServicesLegacySession Facadeprojects/27-ejb-services/legacy/src/main/java/at/aydin/lab/ejb/legacy/OrderSessionBean.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
EJB und ServicesModernService Layerprojects/27-ejb-services/modern/src/main/java/at/aydin/lab/ejb/modern/OrderService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Exception Handling und LoggingLegacyException Shielding (Legacy-Antipattern-Variante) – fängt technische Fehler, verschluckt sie jedoch.projects/18-exception-logging/legacy/src/main/java/at/aydin/lab/errors/legacy/LegacyCustomerLookup.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Exception Handling und LoggingModernException Translatorprojects/18-exception-logging/modern/src/main/java/at/aydin/lab/errors/modern/CustomerLookupService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
GenericsLegacyGeneric Container (Legacy) – kapselt Werte, verliert durch Raw Types jedoch Typsicherheit.projects/13-generics/legacy/src/main/java/at/aydin/lab/generics/legacy/RawBox.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
GenericsModernGeneric Containerprojects/13-generics/modern/src/main/java/at/aydin/lab/generics/modern/TypedBox.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
GenericsModernGeneric Repositoryprojects/13-generics/modern/src/main/java/at/aydin/lab/generics/modern/Repository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
HTTP-Client und WebtestLegacyAdapter – kapselt HttpURLConnection hinter einer kleinen Client-API.projects/20-http-client-testing/legacy/src/main/java/at/aydin/lab/http/legacy/LegacyHttpClient.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
HTTP-Client und WebtestModernAdapterprojects/20-http-client-testing/modern/src/main/java/at/aydin/lab/http/modern/JavaHttpTransport.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
HTTP-Client und WebtestModernPortprojects/20-http-client-testing/modern/src/main/java/at/aydin/lab/http/modern/TextTransport.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Hibernate und JPALegacyUnit of Workprojects/23-hibernate-jpa/legacy/src/main/java/at/aydin/lab/hibernate/legacy/HibernateBookStore.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Hibernate und JPAModernRepositoryprojects/23-hibernate-jpa/modern/src/main/java/at/aydin/lab/hibernate/modern/BookRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JMX und MonitoringLegacyManagement Facadeprojects/26-jmx-monitoring/legacy/src/main/java/at/aydin/lab/jmx/legacy/TaskCounter.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JMX und MonitoringModernObserverprojects/26-jmx-monitoring/modern/src/main/java/at/aydin/lab/jmx/modern/TaskMetrics.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JNDI und Service-AuflösungLegacyService Locatorprojects/25-jndi-service-resolution/legacy/src/main/java/at/aydin/lab/jndi/legacy/JndiServiceLocator.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JNDI und Service-AuflösungLegacyService Locatorprojects/25-jndi-service-resolution/legacy/src/main/java/at/aydin/lab/jndi/legacy/LegacyGreetingUseCase.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JNDI und Service-AuflösungModernPortprojects/25-jndi-service-resolution/modern/src/main/java/at/aydin/lab/jndi/modern/GreetingPort.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JPMS / JigsawLegacyPlugin Loader / Factory – erzeugt Plugins dynamisch über Reflection.projects/28-jpms-jigsaw/legacy/src/main/java/at/aydin/lab/jpms/legacy/LegacyPluginLoader.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JPMS / JigsawModernService Provider Interfaceprojects/28-jpms-jigsaw/modern/src/main/java/at/aydin/lab/jpms/modern/api/GreetingProvider.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JUnit und TestdesignLegacyStateless Service – hält die Berechnung zustandsfrei und isoliert testbar.projects/19-junit-testing/legacy/src/main/java/at/aydin/lab/testing/legacy/VatCalculator.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
JUnit und TestdesignModernStateless Service – hält die Berechnung zustandsfrei und isoliert testbar.projects/19-junit-testing/modern/src/main/java/at/aydin/lab/testing/modern/VatCalculator.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Java I/O und NIOLegacyAdapter – kapselt streambasiertes Kopieren hinter einer kleinen Datei-API.projects/17-io-nio/legacy/src/main/java/at/aydin/lab/io/legacy/LegacyFileCopy.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Java I/O und NIOModernAdapterprojects/17-io-nio/modern/src/main/java/at/aydin/lab/io/modern/PathFileService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Java-GrundlagenLegacyJavaBeanprojects/11-java-basics/legacy/src/main/java/at/aydin/lab/basics/legacy/LegacyCustomer.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Java-GrundlagenModernValue Objectprojects/11-java-basics/modern/src/main/java/at/aydin/lab/basics/modern/Customer.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
KryptografieLegacySecurity Gateway (Legacy-Antipattern) – bündelt Kryptografie, verwendet absichtlich unsicheres ECB.projects/32-crypto/legacy/src/main/java/at/aydin/lab/crypto/legacy/LegacyAesEcb.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
KryptografieModernSecurity Gatewayprojects/32-crypto/modern/src/main/java/at/aydin/lab/crypto/modern/AesGcmService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
KryptografieModernValue Objectprojects/32-crypto/modern/src/main/java/at/aydin/lab/crypto/modern/EncryptedPayload.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Lambda und StreamsLegacyAccumulatorprojects/15-lambdas-streams/legacy/src/main/java/at/aydin/lab/streams/legacy/LegacyOrderAnalytics.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Lambda und StreamsModernPipelineprojects/15-lambdas-streams/modern/src/main/java/at/aydin/lab/streams/modern/OrderAnalytics.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Maven Properties und KonfigurationLegacyConfiguration Object – bündelt untypisierte Properties in einem Zugriffspunkt.projects/21-maven-properties-config/legacy/src/main/java/at/aydin/lab/config/legacy/LegacyPropertiesConfig.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Maven Properties und KonfigurationModernConfiguration Objectprojects/21-maven-properties-config/modern/src/main/java/at/aydin/lab/config/modern/ApplicationConfig.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Maven Properties und KonfigurationModernFactoryprojects/21-maven-properties-config/modern/src/main/java/at/aydin/lab/config/modern/ConfigFactory.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
MessagingLegacyMessaging Gatewayprojects/07-messaging/legacy/src/main/java/at/aydin/lab/messaging/legacy/LegacyJmsGateway.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
MessagingModernMessage-Driven Consumerprojects/07-messaging/modern/src/main/java/at/aydin/lab/messaging/modern/OrderMessageListener.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
MessagingModernMessaging Gatewayprojects/07-messaging/modern/src/main/java/at/aydin/lab/messaging/modern/OrderMessagePublisher.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
MongoDBLegacyData Mapperprojects/24-mongodb/legacy/src/main/java/at/aydin/lab/mongodb/legacy/LegacyBookMapper.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
MongoDBLegacyRepositoryprojects/24-mongodb/legacy/src/main/java/at/aydin/lab/mongodb/legacy/LegacyBookRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
MongoDBModernRepositoryprojects/24-mongodb/modern/src/main/java/at/aydin/lab/mongodb/modern/BookRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Patterns und RefactoringLegacyConditional Strategy (Legacy-Antipattern) – wählt Preisalgorithmen über Bedingungen.projects/34-patterns-refactoring/legacy/src/main/java/at/aydin/lab/patterns/legacy/LegacyPriceCalculator.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Patterns und RefactoringModernFactoryprojects/34-patterns-refactoring/modern/src/main/java/at/aydin/lab/patterns/modern/PricingStrategyFactory.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Patterns und RefactoringModernStrategyprojects/34-patterns-refactoring/modern/src/main/java/at/aydin/lab/patterns/modern/PricingStrategy.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
PersistenzLegacyDAOprojects/04-persistence/legacy/src/main/java/at/aydin/lab/persistence/legacy/CustomerDao.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
PersistenzModernRepositoryprojects/04-persistence/modern/src/main/java/at/aydin/lab/persistence/modern/CustomerRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
PersistenzModernService Layerprojects/04-persistence/modern/src/main/java/at/aydin/lab/persistence/modern/CustomerService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
RESTLegacyRepositoryprojects/03-rest/legacy/src/main/java/at/aydin/lab/rest/legacy/BookRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
RESTModernRepositoryprojects/03-rest/modern/src/main/java/at/aydin/lab/rest/modern/BookRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
RESTModernService Layerprojects/03-rest/modern/src/main/java/at/aydin/lab/rest/modern/BookService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
SMTP und MailLegacyFactory – erzeugt vorkonfigurierte MimeMessage-Objekte.projects/33-smtp-mail/legacy/src/main/java/at/aydin/lab/mail/legacy/LegacyMailFactory.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
SMTP und MailModernCommandprojects/33-smtp-mail/modern/src/main/java/at/aydin/lab/mail/modern/MailCommand.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
SMTP und MailModernGatewayprojects/33-smtp-mail/modern/src/main/java/at/aydin/lab/mail/modern/JakartaMailGateway.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
SOAPLegacyRemote Facadeprojects/10-soap/legacy/src/main/java/at/aydin/lab/soap/legacy/LegacyCalculatorEndpoint.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
SOAPModernRemote Facadeprojects/10-soap/modern/src/main/java/at/aydin/lab/soap/modern/ModernCalculatorEndpoint.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Service Registry und ServiceLoaderLegacyService Registryprojects/29-osgi-service-registry/legacy/src/main/java/at/aydin/lab/osgi/legacy/ServiceRegistry.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Service Registry und ServiceLoaderModernService Provider Interfaceprojects/29-osgi-service-registry/modern/src/main/java/at/aydin/lab/osgi/modern/PaymentProvider.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Servlet und WebLegacyFront Controller (kleine Demonstration)projects/09-servlet-web/legacy/src/main/java/at/aydin/lab/web/legacy/StatusServlet.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Servlet und WebModernFront Controller + MVC Controllerprojects/09-servlet-web/modern/src/main/java/at/aydin/lab/web/modern/StatusController.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Spring JDBCLegacyDAOprojects/22-spring-jdbc/legacy/src/main/java/at/aydin/lab/jdbc/legacy/CustomerDao.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
Spring JDBCModernRepository + Row Mapperprojects/22-spring-jdbc/modern/src/main/java/at/aydin/lab/jdbc/modern/CustomerRepository.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
TransaktionenLegacyTransaction Scriptprojects/05-transactions/legacy/src/main/java/at/aydin/lab/transactions/legacy/LegacyTransferService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
TransaktionenModernService Layer + declarative Transaction Boundaryprojects/05-transactions/modern/src/main/java/at/aydin/lab/transactions/modern/TransferService.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
XML ParserLegacyParserprojects/30-xml-parsers/legacy/src/main/java/at/aydin/lab/xmlparser/legacy/DomOrderReader.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
XML ParserModernIteratorprojects/30-xml-parsers/modern/src/main/java/at/aydin/lab/xmlparser/modern/StaxOrderReader.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
XML und JAXBLegacyMapperprojects/08-xml-jaxb/legacy/src/main/java/at/aydin/lab/xml/legacy/LegacyXmlMapper.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
XML und JAXBModernMapperprojects/08-xml-jaxb/modern/src/main/java/at/aydin/lab/xml/modern/ModernXmlMapper.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
XSLTLegacyFactory – erzeugt Transformer über die standardisierte TransformerFactory.projects/31-xslt/legacy/src/main/java/at/aydin/lab/xslt/legacy/LegacyXsltTransformer.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
XSLTModernFlyweightprojects/31-xslt/modern/src/main/java/at/aydin/lab/xslt/modern/SecureXsltTemplate.javaDokumentiert die im Quelltext eingesetzte oder bewusst als Legacy-Kontrast gezeigte Struktur.
⌂ Cockpit