15 dépôts
Design patterns and structural management of object graphs and lifecycles in Java projects.
Distinguishing note: None of the candidates address the general architectural management of object graphs for modularity in Java.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Java Application Architecture. Refine with filters or upvote what's useful.
CoreNLP est une bibliothèque Java de traitement du langage naturel conçue pour convertir du texte brut en données structurées. Elle utilise une suite d'annotateurs linguistiques pour analyser le texte via un pipeline, extrayant ainsi les structures grammaticales, les sentiments et les modèles linguistiques. Le projet inclut un moteur de résolution de coréférence qui lie les mentions multiples d'une même entité pour maintenir la cohérence contextuelle entre les documents. Il fournit également des outils de reconnaissance d'entités nommées pour catégoriser les personnes, les entreprises et les lieux, ainsi qu'un étiqueteur morphosyntaxique pour assigner des catégories grammaticales et des formes de base aux mots. La bibliothèque couvre en outre l'analyse de sentiment pour évaluer le ton émotionnel et prend en charge la sérialisation des données linguistiques traitées dans des formats standardisés pour le stockage ou l'échange externe.
Provides a strongly typed Java class hierarchy for representing tokens, sentences, and parsed linguistic trees.
Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management
Manages complex object graphs and class lifecycles in Java projects to improve modularity and testability.
This project is a curated library of technical ebooks and guides focused on Java language learning, backend architecture, and Java Virtual Machine internals. It serves as a reference-driven knowledge base and a technical repository for software engineering principles. The collection provides specialized materials for studying Java backend architecture, including high-performance server-side development and concurrency. It includes a dedicated JVM technical reference for performance tuning and internal machine behavior, as well as resources for algorithm study and data structures. Additional
Provides a curated collection of reference materials focused on high-performance server-side development and concurrency.
This is a demonstration project that illustrates the classic SSM architecture pattern—combining SpringMVC, Spring, and MyBatis—for building scalable enterprise Java web applications. It serves as both a learning resource and a practical tutorial for developers who want to understand how these three frameworks work together in a full-stack context. The project provides a step-by-step guide for assembling SpringMVC, Spring, and MyBatis into a cohesive enterprise web application stack, covering everything from Spring dependency injection and transaction management to MyBatis database access and
Demonstrates the classic SSM architecture pattern for building scalable Java web applications.
QLExpress est un moteur de script dynamique et un langage d'expression pour la plateforme Java. Il fonctionne comme un évaluateur d'expression runtime et un moteur de règles métier, permettant aux applications d'exécuter des scripts et d'évaluer la logique métier sans nécessiter de recompilation du système. Le moteur se distingue par un sandbox de script sécurisé qui applique des politiques de sécurité via une liste blanche de classes et des timeouts d'exécution. Il prend en charge les mathématiques de haute précision pour éviter les erreurs d'arrondi et fournit un support d'alias de langage pour créer des langages spécifiques au domaine (DSL) qui ressemblent au langage naturel. Des capacités supplémentaires incluent un mécanisme de relecture de fragment basé sur des macros et la capacité d'étendre les classes Java existantes en injectant de nouvelles méthodes membres accessibles uniquement au sein de l'environnement de script. Le système couvre un large éventail de capacités, incluant la compilation basée sur bytecode avec mise en cache de script, l'évaluation d'arbre de syntaxe abstraite et l'interpolation de chaîne dynamique. Il fournit également une observabilité via le traçage d'exécution au niveau des nœuds pour l'analyse des causes profondes, ainsi qu'une validation de syntaxe de script et un support de structure de données complexe utilisant la syntaxe JSON.
Enables the extension of existing Java classes by injecting new member methods accessible only within the script environment.
Ce projet sert d'architecture de référence complète et de guide des meilleures pratiques pour développer des applications scalables avec le framework Spring Boot. Il fournit un plan structurel pour le développement backend Java, se concentrant sur l'implémentation d'API découplées et l'établissement de standards architecturaux. Le projet détaille spécifiquement la création de starters personnalisés et de modules d'auto-configuration pour simplifier l'intégration de bibliothèques tierces. Il fournit également un plan de déploiement pour packager les applications sous forme de jars exécutables et optimiser les builds en couches pour les environnements cloud conteneurisés. La surface de capacités couvre l'optimisation des performances via le cache mémoire et le traitement asynchrone, ainsi que la synchronisation de systèmes distribués utilisant des verrous distribués et des courtiers de messages. La couverture inclut également la gestion de la persistance des données, les migrations de bases de données, la planification de tâches automatisées et l'implémentation de la programmation orientée aspect pour les préoccupations transversales.
Provides a structural guide for implementing decoupled APIs and distributed systems using Java architectural patterns.
backend-cheats est un guide de référence complet en ingénierie backend et une collection de cheatsheets techniques. Il sert de base de connaissances pour le développement côté serveur, le réseautage et les fondamentaux de l'informatique, livrés sous forme de site statique basé sur Markdown. Le projet fournit des manuels détaillés pour la conception d'API, couvrant spécifiquement les interfaces REST et GraphQL, ainsi que des patterns d'architecture logicielle tels que Monolithique, Microservices et MVC. Il inclut un aperçu de l'architecture de base de données comparant les paradigmes relationnels et NoSQL, ainsi qu'une référence sur la sécurité web pour identifier les vulnérabilités et gérer les variables d'environnement. La surface de référence s'étend au DevOps et à la gestion d'infrastructure, incluant l'administration système Linux et la conteneurisation avec des outils d'orchestration. Une couverture supplémentaire inclut l'architecture matérielle informatique, les fondamentaux réseau, l'optimisation des performances via la mise en cache et le profilage, et les stratégies de test logiciel. La documentation est structurée en utilisant des fichiers source Markdown qui sont convertis en pages HTML pré-rendues.
Serves as a comprehensive reference guide for backend engineering, networking, and web application design.
This project is a SwiftUI app template and architectural blueprint for building iOS applications. It implements Clean Architecture and the MVVM pattern to separate business logic, data access, and the user interface into distinct layers. The framework utilizes a dependency injection container to manage object lifetimes and a flow coordinator pattern to handle navigation and screen transitions independently from the view layer. The codebase includes systems for network data management, featuring remote data pagination, cache-backed retrieval, and data mapping via data transfer objects. It als
Implements clean architecture principles to separate business logic from data access and the user interface.
Ce projet est un modèle d'architecture propre (Clean Architecture) .NET conçu pour séparer la logique de domaine de l'infrastructure et des frameworks web. Il fournit une structure de projet pour les applications C# et un frontend React Redux, créant un backend testable axé sur la maintenabilité. L'implémentation se concentre sur le Domain Driven Design, modélisant les domaines métier principaux à l'aide d'entités et d'objets de valeur pour gérer des exigences complexes. Il utilise une architecture découplée pour garantir que la logique métier reste indépendante des frameworks externes et des technologies de base de données. Le projet couvre le bootstrapping d'applications full stack, l'intégration de l'accès aux données découplé et les tests automatisés de logique métier. L'application est packagée en tant qu'application web conteneurisée pour assurer un déploiement cohérent à travers différents environnements d'hébergement.
Provides a complete project structure and template to bootstrap a .NET and React application using Clean Architecture.
This project is a technical interview repository and a curated collection of study guides designed for backend, frontend, and full-stack engineering evaluations. It provides a JavaScript interview guide and a comprehensive question bank of solved coding challenges and algorithmic problems to prepare developers for job screenings. The resource extends beyond core language skills to include a frontend development syllabus covering DOM fundamentals and accessibility, a backend architecture reference for server-side concepts and distributed systems, and a full-stack study resource for the MERN st
Offers a curated collection of reference materials on server-side concepts and distributed systems.
Ce projet fournit un modèle structurel pour organiser les applications React et TypeScript en découplant la logique métier des composants d'interface utilisateur et de l'infrastructure externe. Il implémente une architecture en couches qui isole les règles de domaine principales, garantissant que l'application reste indépendante des frameworks, bibliothèques ou implémentations de services externes spécifiques. L'architecture repose sur des principes d'injection de dépendances et d'inversion pour gérer les implémentations de services, permettant la modularité et des tests plus faciles. En utilisant un noyau fonctionnel et un shell impératif, le système sépare les effets secondaires de la logique métier pure, tandis que les contrats de type partagés et la sécurité de type stricte garantissent des structures de données cohérentes dans tous les modules de l'application. L'approche facilite la création de cas d'utilisation et d'entités de domaine agnostiques au framework qui peuvent être testés et maintenus de manière isolée. En définissant des interfaces abstraites pour les services externes et en implémentant des couches de traduction de données, le projet garantit que le code spécifique à l'infrastructure ne fuit pas dans la logique métier principale.
Implements layered architecture principles to decouple business logic from infrastructure and delivery mechanisms.
Ce projet est une implémentation de référence pour structurer des applications Java en utilisant une architecture propre (clean architecture) et des principes de conception pilotée par le domaine (DDD). Il fournit un modèle pour organiser le code en couches concentriques, garantissant que les règles métier fondamentales et les entités de domaine restent entièrement indépendantes des frameworks, bases de données et mécanismes de livraison externes. L'architecture repose sur le principe d'inversion de dépendance pour découpler la logique métier de l'infrastructure. En définissant des interfaces abstraites pour l'accès aux données et les services externes, le système permet le remplacement des technologies sous-jacentes sans nécessiter de modifications à la logique d'application principale. Une couche de configuration dédiée gère l'injection de dépendances, isolant le câblage spécifique au framework du code de domaine. La base de code prend en charge une stratégie de test complète qui valide le comportement du système à plusieurs niveaux, y compris la logique unitaire isolée, les scénarios d'acceptation axés sur le métier et les parcours de bout en bout. Cette approche modulaire facilite la maintenance à long terme en garantissant que les actions métier restent encapsulées en tant qu'unités indépendantes et testables.
Provides a reference implementation of clean architecture principles to decouple business logic from external frameworks and infrastructure.
Clean React est un framework de développement frontend et un modèle d'application conçu pour fournir une base structurée pour construire des applications web évolutives. Il sert de boilerplate qui organise la logique d'interface utilisateur complexe en couches découplées et testables en utilisant TypeScript. Le projet se distingue en imposant une architecture propre stricte et une conception pilotée par interface, qui sépare les règles métier de haut niveau des détails de framework de bas niveau. Il intègre un conteneur d'injection de dépendances et des primitives de gestion d'état réactives pour garantir que les composants système restent interchangeables et maintenables. Le framework prend en charge un cycle de vie de développement complet en incorporant des pipelines d'intégration et de déploiement continus automatisés. Il impose un flux de travail de développement piloté par les tests, exigeant la création de tests unitaires et d'intégration pour vérifier la fiabilité du code et le comportement attendu avant l'implémentation.
Structures application logic into decoupled layers using established design patterns to improve long-term maintainability and simplify testing.
This project is a web-based inventory and order management system built on the ASP.NET Core framework. It provides a comprehensive platform for tracking stock levels, managing the full lifecycle of sales and purchase orders, and coordinating warehouse logistics. The system is designed to handle operational tasks ranging from goods receipt and physical counting to delivery tracking and returns. The backend architecture utilizes a clean architecture pattern, separating business logic from infrastructure concerns to maintain modularity. It implements command segregation and a message dispatching
Implements a clean architecture pattern to decouple business logic from infrastructure and delivery mechanisms.
Ce projet sert d'implémentation de référence pour appliquer les principes de l'architecture propre (Clean Architecture) dans un environnement C#. Il démontre comment structurer des applications d'entreprise en organisant le code en couches concentriques et indépendantes qui isolent la logique métier principale de l'infrastructure externe, des frameworks et des préoccupations liées aux bases de données. La base de code illustre l'application du Domain-Driven Design pour centrer la logique logicielle autour des entités et règles métier. Elle utilise le découplage basé sur les interfaces et l'inversion de dépendance pour garantir que les politiques de haut niveau restent ignorantes des détails d'implémentation de bas niveau, facilitant la maintenabilité et la testabilité à long terme. Pour gérer l'accès aux données, le projet emploie le pattern Repository pour abstraire les technologies de stockage. Cette approche découple la couche domaine des mécanismes de persistance spécifiques, permettant le remplacement des fournisseurs de données sans nécessiter de modifications de la logique applicative principale. L'injection de dépendances est utilisée partout pour gérer les cycles de vie des objets et le câblage des composants.
Demonstrates clean architecture principles by organizing code into concentric layers that isolate business logic.