awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

11 repository-uri

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

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • openra/openraAvatar OpenRA

    OpenRA/OpenRA

    16,450Vezi pe GitHub↗

    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
    Vezi pe GitHub↗16,450
  • scala/scalaAvatar scala

    scala/scala

    14,548Vezi pe GitHub↗

    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
    Vezi pe GitHub↗14,548
  • spatie/laravel-permissionAvatar spatie

    spatie/laravel-permission

    12,911Vezi pe GitHub↗

    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
    Vezi pe GitHub↗12,911
  • z-song/laravel-adminAvatar z-song

    z-song/laravel-admin

    11,154Vezi pe GitHub↗

    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
    Vezi pe GitHub↗11,154
  • xcatliu/typescript-tutorialAvatar xcatliu

    xcatliu/typescript-tutorial

    10,725Vezi pe GitHub↗

    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
    Vezi pe GitHub↗10,725
  • thoughtbot/factory_botAvatar thoughtbot

    thoughtbot/factory_bot

    8,176Vezi pe GitHub↗

    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
    Vezi pe GitHub↗8,176
  • scala/scala3Avatar scala

    scala/scala3

    6,261Vezi pe GitHub↗

    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
    Vezi pe GitHub↗6,261
  • sadanandpai/javascript-code-challengesAvatar sadanandpai

    sadanandpai/javascript-code-challenges

    4,451Vezi pe GitHub↗

    Acest repository este o colecție de provocări de programare JavaScript și un ghid cuprinzător pentru interviuri. Oferă implementări de referință și exemple educaționale concepute pentru a ajuta dezvoltatorii să stăpânească fundamentele limbajului și să se pregătească pentru interviuri tehnice. Proiectul acoperă o gamă largă de implementări specializate, inclusiv tipare de programare funcțională precum currying și aplicarea parțială, precum și tipare asincrone pentru controlul concurenței. Include, de asemenea, exemple practice de manipulare a Document Object Model (DOM) și implementarea structurilor de date comune, cum ar fi stivele și cozile. În linii mari, colecția acoperă caracteristici avansate ale limbajului, implementări de tipare de design și manipularea structurilor de date. Adresează o suprafață care include programarea asincronă, interacțiunea cu DOM-ul, tipare de creație orientate pe obiecte și operațiuni primitive de nivel scăzut.

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

    MDXchallengescoding-interviewfrontend
    Vezi pe GitHub↗4,451
  • cviebrock/eloquent-sluggableAvatar cviebrock

    cviebrock/eloquent-sluggable

    3,993Vezi pe GitHub↗

    Acest proiect este un instrument de generare și gestionare a slug-urilor pentru Laravel Eloquent ORM. Acesta oferă un trait reutilizabil care adaugă capacitatea de a crea șiruri unice, prietenoase pentru URL-uri, din atributele modelelor, permițând recuperarea înregistrărilor din baza de date folosind slug-uri lizibile în loc de chei primare. Sistemul suportă gestionarea URL-urilor multilingve prin menținerea unor slug-uri localizate separate pentru o singură instanță de model. Acesta asigură unicitatea printr-un mecanism automat de evitare a coliziunilor care adaugă sufixe numerice șirurilor duplicate și previne utilizarea cuvintelor rezervate care s-ar putea suprapune cu rutele sistemului. Setul de instrumente include capacități pentru generarea personalizată de slug-uri prin suprascrierea motorului și reguli de formatare, precum și un pipeline bazat pe evenimente pentru a intercepta sau anula procesul de creare a slug-urilor. Rezoluția bazei de date este gestionată prin query scopes dedicate și metode helper pentru recuperarea modelelor pe baza valorilor slug-urilor lor.

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

    PHP
    Vezi pe GitHub↗3,993
  • design-patterns-in-ruby/design-patterns-in-rubyAvatar design-patterns-in-ruby

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

    2,560Vezi pe GitHub↗

    Acest proiect servește drept resursă educațională și referință tehnică pentru implementarea tiparelor clasice de design software în limbajul de programare Ruby. Oferă o colecție curatoriată de exemple de cod care demonstrează cum să aplici tipare de design comportamentale, creaționale și structurale pentru a rezolva probleme comune de dezvoltare software. Repository-ul se distinge prin concentrarea pe intersecția dintre principiile de design consacrate și mecanismele unice ale limbajului Ruby. Acesta ilustrează cum să folosești „dynamic method dispatch”, „duck typing” și compoziția bazată pe mixin-uri pentru a crea cod modular și reutilizabil. Prin aplicarea acestor tipare, dezvoltatorii pot îmbunătăți mentenabilitatea și scalabilitatea aplicațiilor, reducând în același timp datoria tehnică prin refactorizare eficientă și organizare structurală. Colecția acoperă o gamă largă de abordări arhitecturale, inclusiv tehnici pentru gestionarea instanțierii obiectelor, simplificarea relațiilor complexe din sistem și decuplarea comunicării între obiecte. Aceste exemple traduc conceptele abstracte de design în implementări concrete și idiomatice în Ruby, oferind un ghid practic pentru structurarea sistemelor orientate pe obiecte.

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

    Ruby
    Vezi pe GitHub↗2,560
  • jeremykenedy/laravel-rolesAvatar jeremykenedy

    jeremykenedy/laravel-roles

    1,043Vezi pe GitHub↗

    This package provides a comprehensive authorization framework for Laravel applications, enabling the management of user roles and granular permissions through a database-driven system. It allows developers to define access levels and assign them to users, ensuring that security policies are enforced consistently across the entire application. The system distinguishes itself through a hierarchical inheritance model, where permissions automatically propagate from lower-tier roles to higher-tier roles based on a numerical level system. It includes a dedicated administrative web interface that al

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

    PHPaclacl-managementeloquent
    Vezi pe GitHub↗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

Explorează sub-etichetele

  • 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.