awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

11 Repos

Awesome GitHub RepositoriesTrait-Based Compositions

Construction of game objects by aggregating modular, data-driven traits.

Distinct from Entity Behavior Modules: Distinct from general entity behavior modules: focuses on the trait-based composition pattern for defining object properties.

Explore 11 awesome GitHub repositories matching software engineering & architecture · Trait-Based Compositions. Refine with filters or upvote what's useful.

Awesome Trait-Based Compositions GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • openra/openraAvatar von OpenRA

    OpenRA/OpenRA

    16,450Auf GitHub ansehen↗

    OpenRA is an open-source game engine designed for the development and modernization of real-time strategy titles. It provides a modular framework that allows developers to build standalone games or total conversion modifications by leveraging a trait-based entity composition system. The engine is built to support both the preservation of classic strategy games and the creation of new experiences, offering cross-platform compatibility and a flexible architecture for defining game rules and unit behaviors. The engine distinguishes itself through a configuration-driven approach where game logic,

    Constructs game objects by aggregating modular, data-driven traits that define behavior and properties.

    C#command-and-conquercross-platformcsharp
    Auf GitHub ansehen↗16,450
  • scala/scalaAvatar von scala

    scala/scala

    14,548Auf GitHub ansehen↗

    Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends. The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n

    Provides trait-based mixin composition to combine independent modules of functionality into a single class.

    Scalafunctional-programmingjvm-languagesobject-oriented-programming
    Auf GitHub ansehen↗14,548
  • spatie/laravel-permissionAvatar von spatie

    spatie/laravel-permission

    12,911Auf GitHub ansehen↗

    This is a role-based access control system for Laravel applications that manages user permissions and roles within a database. It provides a database permissions manager to assign specific abilities to users and roles, utilizing authorization gates to restrict access to routes and interface elements. The project features a wildcard permission system that uses pattern matching to grant broad access across multiple related permissions. It also supports team-scoped access control, allowing users to maintain different roles and permission levels across separate organizational contexts or teams.

    Uses PHP traits to provide a consistent API for permission checks directly on user models.

    PHP
    Auf GitHub ansehen↗12,911
  • z-song/laravel-adminAvatar von z-song

    z-song/laravel-admin

    11,154Auf GitHub ansehen↗

    This project is a framework for building back-office administrative interfaces and CRUD screens within Laravel applications. It provides a centralized PHP backend dashboard for managing application settings, server files, and internal system operations using configuration-based code. The system utilizes a configuration-driven UI generation model to create data interfaces for reading, updating, and deleting database records based on model definitions. It includes dedicated management interfaces for Redis key-value stores and a visual application monitoring dashboard for analyzing runtime excep

    Uses PHP traits to inject shared CRUD operations and data handling logic into controllers to reduce boilerplate.

    PHP
    Auf GitHub ansehen↗11,154
  • xcatliu/typescript-tutorialAvatar von xcatliu

    xcatliu/typescript-tutorial

    10,725Auf GitHub ansehen↗

    This is a comprehensive tutorial for learning TypeScript, designed for JavaScript programmers who want to understand the language's type system and modern features. The resource covers TypeScript's core identity, including its structural type compatibility, compile-time type erasure, declaration file merging, and the discriminated union pattern for precise type narrowing. The tutorial distinguishes itself by providing a progressive learning path from basic JavaScript concepts to advanced TypeScript patterns. It covers generic type parameter constraints, tuple types with fixed-length positions

    Teaches composing behaviors from multiple classes using the mixin pattern.

    TypeScriptjavascripttutorialtypescript
    Auf GitHub ansehen↗10,725
  • thoughtbot/factory_botAvatar von thoughtbot

    thoughtbot/factory_bot

    8,176Auf GitHub ansehen↗

    FactoryBot is a Ruby library for generating complex test objects and their associations, serving as a dynamic alternative to static fixture files. It provides a system for defining reusable data blueprints with default attributes and inheritance to produce consistent test records. The tool distinguishes itself through flexible instantiation strategies, allowing users to control whether objects are persisted to a database, built in memory, or created as stubs. It manages data uniqueness via a sequence generator for incremental values and uses traits to bundle shared attributes into reusable mo

    Bundles shared attributes into reusable traits that can be dynamically added to objects during instantiation.

    Rubyfactoriesfactory-botfactory-girl
    Auf GitHub ansehen↗8,176
  • scala/scala3Avatar von scala

    scala/scala3

    6,261Auf GitHub ansehen↗

    Scala 3 is an open-source, statically typed programming language that compiles to JVM bytecode, combining object-oriented and functional programming paradigms. Its core identity is defined by a sophisticated type system that includes traits, generics, union types, and a dependent object type system where types can depend on runtime values through path-dependent and singleton types. The language distinguishes itself through several advanced type-level and metaprogramming capabilities. It features a contextual abstraction mechanism using given instances and using clauses for compile-time implic

    Linearizes trait mixins following a specific ordering rule for deterministic method resolution and super call chains.

    Scalacompilerdottyepfl
    Auf GitHub ansehen↗6,261
  • sadanandpai/javascript-code-challengesAvatar von sadanandpai

    sadanandpai/javascript-code-challenges

    4,451Auf GitHub ansehen↗

    Dieses Repository ist eine Sammlung von JavaScript-Coding-Challenges und ein umfassender Interview-Leitfaden. Es bietet Referenzimplementierungen und pädagogische Beispiele, die Entwicklern helfen sollen, Sprachgrundlagen zu beherrschen und sich auf technische Interviews vorzubereiten. Das Projekt deckt eine breite Palette spezialisierter Implementierungen ab, darunter funktionale Programmiermuster wie Currying und partielle Anwendung sowie asynchrone Muster für die Nebenläufigkeitskontrolle. Es enthält zudem praktische Beispiele für die Manipulation des Document Object Models und die Implementierung gängiger Datenstrukturen wie Stacks und Queues. Die Sammlung umfasst fortgeschrittene Sprachfeatures, Implementierungen von Designmustern und die Manipulation von Datenstrukturen. Sie adressiert einen Bereich, der asynchrone Programmierung, DOM-Interaktion, objektorientierte Erzeugungsmuster und Low-Level-Primitive umfasst.

    Provides examples of combining independent modules of functionality into a single object via mixins.

    MDXchallengescoding-interviewfrontend
    Auf GitHub ansehen↗4,451
  • cviebrock/eloquent-sluggableAvatar von cviebrock

    cviebrock/eloquent-sluggable

    3,993Auf GitHub ansehen↗

    Dieses Projekt ist ein Tool zur Slug-Generierung und -Verwaltung für das Laravel Eloquent ORM. Es bietet einen wiederverwendbaren Trait, der die Fähigkeit hinzufügt, eindeutige, URL-freundliche Strings aus Modellattributen zu erstellen, wodurch Datenbankdatensätze über menschenlesbare Slugs anstelle von Primärschlüsseln abgerufen werden können. Das System unterstützt mehrsprachiges URL-Management, indem es separate lokalisierte Slugs für eine einzelne Modellinstanz verwaltet. Es stellt die Eindeutigkeit durch einen automatischen Mechanismus zur Kollisionsvermeidung sicher, der numerische Suffixe an doppelte Strings anhängt und die Verwendung reservierter Wörter verhindert, die mit System-Routing-Pfaden kollidieren könnten. Das Toolkit umfasst Funktionen für benutzerdefinierte Slug-Generierung durch Engine-Overrides und Formatierungsregeln sowie eine ereignisgesteuerte Pipeline, um den Slugging-Prozess abzufangen oder abzubrechen. Die Datenbankauflösung erfolgt über dedizierte Query-Scopes und Hilfsmethoden zum Abrufen von Modellen basierend auf ihren Slug-Werten.

    Provides a reusable trait that extends Eloquent models with slugging capabilities and query scopes.

    PHP
    Auf GitHub ansehen↗3,993
  • design-patterns-in-ruby/design-patterns-in-rubyAvatar von design-patterns-in-ruby

    design-patterns-in-ruby/design-patterns-in-ruby

    2,560Auf GitHub ansehen↗

    Dieses Projekt dient als Bildungsressource und technische Referenz für die Implementierung klassischer Software-Entwurfsmuster in der Programmiersprache Ruby. Es bietet eine kuratierte Sammlung von Codebeispielen, die zeigen, wie verhaltensbezogene, erzeugende und strukturelle Entwurfsmuster zur Lösung gängiger Softwareentwicklungsprobleme angewendet werden. Das Repository zeichnet sich dadurch aus, dass es sich auf die Schnittstelle zwischen etablierten Designprinzipien und den einzigartigen Sprachmechanismen von Ruby konzentriert. Es veranschaulicht, wie man dynamisches Method-Dispatching, Duck-Typing und Mixin-basierte Komposition nutzt, um modularen und wiederverwendbaren Code zu erstellen. Durch die Anwendung dieser Muster können Entwickler die Wartbarkeit und Skalierbarkeit ihrer Anwendungen verbessern und technische Schulden durch effektives Refactoring und strukturelle Organisation reduzieren. Die Sammlung deckt ein breites Spektrum architektonischer Ansätze ab, einschließlich Techniken zur Verwaltung der Objektinstanziierung, zur Vereinfachung komplexer Systembeziehungen und zur Entkopplung der Objektkommunikation. Diese Beispiele übersetzen abstrakte Designkonzepte in konkrete, idiomatische Ruby-Implementierungen und bieten einen praktischen Leitfaden für die Strukturierung objektorientierter Systeme.

    Provides examples of using mixins to inject reusable functionality into classes at runtime.

    Ruby
    Auf GitHub ansehen↗2,560
  • jeremykenedy/laravel-rolesAvatar von jeremykenedy

    jeremykenedy/laravel-roles

    1,043Auf GitHub ansehen↗

    Dieses Paket bietet ein umfassendes Autorisierungs-Framework für Laravel-Anwendungen, das die Verwaltung von Benutzerrollen und granularen Berechtigungen durch ein datenbankgestütztes System ermöglicht. Es erlaubt Entwicklern, Zugriffsebenen zu definieren und Benutzern zuzuweisen, wodurch sichergestellt wird, dass Sicherheitsrichtlinien konsistent über die gesamte Anwendung hinweg durchgesetzt werden. Das System zeichnet sich durch ein hierarchisches Vererbungsmodell aus, bei dem Berechtigungen automatisch von Rollen niedrigerer Ebene auf Rollen höherer Ebene basierend auf einem numerischen Ebenensystem übertragen werden. Es enthält ein dediziertes administratives Web-Interface, das die Erstellung, Änderung und Wartung von Rollen und Berechtigungen ermöglicht, ohne dass direkte Änderungen am Anwendungscode erforderlich sind. Über die reine Rollenverwaltung hinaus bietet das Paket Tools zur Absicherung von Web-Endpunkten durch anfrageabfangende Middleware und zur Validierung von Entitätseigentümerschaften, um Aktionen auf bestimmten Datensätzen einzuschränken. Es unterstützt zudem Template-Level-Direktiven, die Interface-Komponenten basierend auf dem Autorisierungsstatus des authentifizierten Benutzers dynamisch rendern oder ausblenden. Die Integration wird durch Model-Traits erleichtert, die flüssige Methoden zur Überprüfung von Zugriffsrechten im gesamten Codebase bereitstellen.

    Injects authorization methods into user models using traits for fluent access checking.

    PHPaclacl-managementeloquent
    Auf GitHub ansehen↗1,043
  1. Home
  2. Software Engineering & Architecture
  3. Architectural Design Patterns
  4. Object-Oriented Foundations
  5. Object-Oriented Programming
  6. Behavior Customization
  7. Entity Behavior Modules
  8. Trait-Based Compositions

Unter-Tags erkunden

  • Attribute TraitsBundling shared attributes into reusable modules that can be mixed into objects during creation. **Distinct from Trait-Based Compositions:** Applied to test object attributes for data variation rather than game object behavioral composition.
  • Language MixinsLanguage-level mechanisms for combining multiple independent modules of functionality into a single class. **Distinct from Trait-Based Compositions:** Distinct from Trait-Based Compositions: focuses on general language-level mixin composition rather than game object aggregation.
  • Linearized Trait MixinsTrait mixins linearized following a specific ordering rule that determines method resolution and super call chains. **Distinct from Trait-Based Compositions:** Distinct from Trait-Based Compositions: focuses on the linearization ordering rule for method resolution, not general trait aggregation.
  • Model Trait ExtensionsUse of PHP traits to inject shared authorization logic and API methods into user models. **Distinct from Trait-Based Compositions:** Focuses on augmenting domain models for authorization rather than game object composition.