5 dépôts
Organization of application functionality into decoupled, independent units managed as a group.
Distinct from Modular Business Logic Compositions: Focuses on general functional modularity rather than specifically business logic compositions for scaling.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Functional Logic Modularization. Refine with filters or upvote what's useful.
Zend Framework est un ensemble complet de composants découplés pour construire des applications web modulaires et pilotées par les événements. Il implémente une architecture MVC pour séparer la logique métier de l'interface utilisateur et fournit un système structuré de gestion des requêtes via un pipeline de middleware séquentiel. Le projet dispose d'un conteneur d'injection de dépendances piloté par des factories pour automatiser l'instanciation d'objets et gérer les cycles de vie des classes. Il inclut également une suite de sécurité complète pour vérifier les identités des utilisateurs et restreindre l'accès aux ressources en utilisant des listes de contrôle d'accès (ACL) et des adaptateurs de contrôle d'accès basé sur les rôles (RBAC). Le framework couvre un large éventail de capacités, incluant l'abstraction de base de données via des gateways de table et de ligne, des implémentations d'appels de procédure distante (RPC) pour SOAP et JSON-RPC, et un framework d'application console pour les interfaces en ligne de commande. La surface supplémentaire inclut la sérialisation de données, la validation d'entrée, la gestion de session et des outils pour l'envoi d'e-mails et l'internationalisation de contenu.
Divides the application into decoupled, independent units of functionality managed as a coherent group.
BehaviorTree.CPP est une bibliothèque C++ pour concevoir une logique de changement de tâche et des comportements réactifs en utilisant une structure arborescente hiérarchique. Elle fournit un cadre pour créer des systèmes de logique réactive qui gèrent des comportements complexes via un moteur d'exécution et un magasin de données centralisé pour partager l'état entre les nœuds. La bibliothèque découple la logique comportementale de haut niveau du code source en utilisant un analyseur XML pour définir la morphologie de l'arbre. Elle étend en outre ses fonctionnalités grâce à un visualiseur dédié pour surveiller les états d'exécution en temps réel et un pont spécialisé pour intégrer les actions et services ROS2 dans l'arbre de comportement pour le contrôle robotique. Le système prend en charge la gestion des tâches asynchrones et la conception de comportements réactifs, permettant l'orchestration d'opérations de longue durée et la capacité d'interrompre les tâches en fonction des conditions environnementales. Il utilise un tableau noir (blackboard) pour l'échange de données, un mappage de variables basé sur les ports pour la modularité, et prend en charge les extensions au moment de l'exécution via des plugins.
Organizes behavioral logic into decoupled units via XML definitions to separate design from implementation.
Ce projet est un cours de conception architecturale et une ressource pédagogique axée sur la décomposition de larges bases de code JavaScript en composants indépendants, testables et agnostiques vis-à-vis de l'environnement. Il sert de guide de programmation modulaire et de référence pour implémenter des stratégies structurelles et des bonnes pratiques dans les environnements de production. Le matériel met l'accent sur l'utilisation de design patterns pour créer des composants découplés et une logique robuste. Il couvre spécifiquement les stratégies d'inversion de dépendance et l'utilisation d'interfaces génériques pour garantir que la logique puisse s'exécuter sur différents runtimes JavaScript. Le guide fournit des instructions sur la mise à l'échelle de l'architecture applicative et la gestion de la complexité via des modèles d'abstraction en couches et une modularité à responsabilité unique. Il couvre l'application de patterns de conception modulaire pour maintenir un code propre et gérable à mesure que les projets grandissent.
Divides application functionality into decoupled, independent units to maintain single-responsibility modularity.
Seneca est un framework d'architecture pilotée par les messages et une boîte à outils de microservices pour Node.js. Il fonctionne comme un orchestrateur de tâches distribué et un routeur de messages basé sur des patterns, permettant aux développeurs de construire des systèmes de services découplés qui communiquent via un bus de messages. Le framework se distingue par un système de plugins modulaire qui organise la logique métier en modules réutilisables et configurables. Il prend en charge les extensions d'action dynamiques, permettant à de nouveaux gestionnaires d'envelopper ou de remplacer des patterns d'action existants pour injecter une logique personnalisée sans modifier le code original. Le système couvre un large éventail de capacités incluant la communication de services distribués, l'orchestration d'actions asynchrones et la gestion de données d'entité. Il fournit également des outils d'observabilité pour le traçage de patterns d'action, la visualisation de logs basée sur le web et des utilitaires d'assurance qualité pour le mocking de dépendances de services.
Splits application logic into independent processes that exchange messages through standard web protocols or buses.
Ce projet fournit un guide de style complet et un framework architectural pour construire des composants maintenables, modulaires et cohérents au sein de l'écosystème Vue.js. Il établit un ensemble de règles standardisées pour organiser les éléments d'interface utilisateur en unités autonomes, garantissant que la logique et les styles restent isolés pour éviter les effets secondaires involontaires. Le guide se distingue en se concentrant sur l'encapsulation stricte et la conception d'interface claire. Il promeut l'utilisation du scoping de style basé sur les espaces de noms pour éviter les fuites visuelles et impose des entrées de composants prévisibles via des conventions de nommage descriptives et des types de données simples. En définissant des limites claires pour les interactions entre composants, le framework garantit que les unités individuelles restent indépendantes et réutilisables dans des applications à grande échelle. Au-delà des modèles architecturaux de base, le projet couvre un large éventail de normes de développement, y compris des hiérarchies de fichiers standardisées, le linting automatisé et des pratiques de documentation pour les interfaces de composants. Il souligne l'importance de l'extraction de logique modulaire et des conventions de nommage cohérentes pour faciliter la collaboration entre les grandes équipes d'ingénierie. Le dépôt sert de référence pour implémenter des pratiques de codage uniformes et des modèles structurels tout au long du cycle de vie du développement.
Abstracts shared functionality into independent modules to reduce code duplication and simplify the maintenance of individual components.