11 مستودعات
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.
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.
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.
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.
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.
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.
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.
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.
This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks
Provides examples of combining independent modules of functionality into a single object via mixins.
هذا المشروع هو أداة لإنشاء وإدارة الـ Slugs لـ Laravel Eloquent ORM. يوفر خاصية (Trait) قابلة لإعادة الاستخدام تضيف القدرة على إنشاء سلاسل نصية فريدة وصديقة لمحركات البحث (URL-friendly) من سمات النموذج، مما يسمح باسترجاع سجلات قاعدة البيانات باستخدام Slugs مقروءة بدلاً من المفاتيح الأساسية. يدعم النظام إدارة الروابط متعددة اللغات من خلال الاحتفاظ بـ Slugs مترجمة ومنفصلة لكل نسخة من النموذج. ويضمن التفرد من خلال آلية تلقائية لتجنب التصادمات تقوم بإلحاق لاحقات رقمية بالسلاسل المكررة، كما يمنع استخدام الكلمات المحجوزة التي قد تتداخل مع مسارات التوجيه في النظام. تتضمن مجموعة الأدوات إمكانيات لإنشاء Slugs مخصصة عبر تجاوز المحركات وقواعد التنسيق، بالإضافة إلى خط إنتاج يعتمد على الأحداث لاعتراض أو إلغاء عملية إنشاء الـ Slug. تتم معالجة حل قاعدة البيانات من خلال نطاقات استعلام مخصصة وطرق مساعدة لاسترجاع النماذج بناءً على قيم الـ Slug الخاصة بها.
Provides a reusable trait that extends Eloquent models with slugging capabilities and query scopes.
يعمل هذا المشروع كمورد تعليمي ومرجع تقني لتنفيذ أنماط تصميم البرمجيات الكلاسيكية باستخدام لغة البرمجة Ruby. يوفر المشروع مجموعة مختارة من أمثلة الأكواد التي توضح كيفية تطبيق أنماط التصميم السلوكية والإنشائية والهيكلية لحل مشكلات تطوير البرمجيات الشائعة. يتميز المستودع بتركيزه على التقاطع بين مبادئ التصميم الراسخة وآليات لغة Ruby الفريدة. يوضح المشروع كيفية الاستفادة من إرسال الأساليب الديناميكي (dynamic method dispatch)، وduck typing، والتركيب القائم على الـ mixins لإنشاء كود معياري وقابل لإعادة الاستخدام. ومن خلال تطبيق هذه الأنماط، يمكن للمطورين تحسين قابلية صيانة تطبيقاتهم وقابليتها للتوسع، مع تقليل الديون التقنية من خلال إعادة الهيكلة والتنظيم الهيكلي الفعال. تغطي المجموعة نطاقاً واسعاً من المناهج المعمارية، بما في ذلك تقنيات إدارة إنشاء الكائنات، وتبسيط علاقات النظام المعقدة، وفصل اتصالات الكائنات. تحول هذه الأمثلة مفاهيم التصميم المجردة إلى تطبيقات Ruby عملية ومألوفة، مما يوفر دليلاً عملياً لهيكلة الأنظمة الموجهة للكائنات.
Provides examples of using mixins to inject reusable functionality into classes at runtime.
توفر هذه الحزمة إطار عمل تفويض شامل لتطبيقات Laravel، مما يتيح إدارة أدوار المستخدم والأذونات الدقيقة من خلال نظام قائم على قاعدة البيانات. يسمح للمطورين بتحديد مستويات الوصول وتعيينها للمستخدمين، مما يضمن تطبيق سياسات الأمان بشكل متسق عبر التطبيق بأكمله. يتميز النظام بنموذج وراثة هرمي، حيث تنتشر الأذونات تلقائياً من الأدوار ذات المستوى الأدنى إلى الأدوار ذات المستوى الأعلى بناءً على نظام مستوى رقمي. يتضمن واجهة ويب إدارية مخصصة تسمح بإنشاء وتعديل وصيانة الأدوار والأذونات دون الحاجة إلى تغييرات مباشرة في كود التطبيق. بعيداً عن إدارة الأدوار الأساسية، توفر الحزمة أدوات لتأمين نقاط نهاية الويب من خلال البرمجيات الوسيطة لاعتراض الطلبات والتحقق من ملكية الكيان لتقييد الإجراءات على سجلات بيانات محددة. كما تدعم توجيهات على مستوى القالب التي تعرض أو تخفي مكونات الواجهة ديناميكياً بناءً على حالة تفويض المستخدم المصادق عليه. يتم تسهيل التكامل من خلال سمات النموذج (model traits) التي توفر طرقاً سلسة للتحقق من حقوق الوصول عبر قاعدة الكود.
Injects authorization methods into user models using traits for fluent access checking.