awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
liangxiegame avatar

liangxiegame/QFramework

0
View on GitHub↗
5,163 stars·843 forks·C#·mit·23 viewsqframework.cn↗

QFramework

QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It implements a layered software architecture to manage complex game states and provides a game engine utility library to reduce boilerplate code.

The framework is centered on the Command Query Responsibility Segregation pattern, which separates data modification commands from data retrieval queries. It utilizes a dependency injection container to manage the lifecycles and resolution of singletons and modular components, alongside an event-driven system for state synchronization to prevent circular dependencies.

The project covers a broad range of capabilities, including asset lifecycle management via reference counting, memory optimization through object pooling, and UI management with automated component binding and panel navigation stacks. It also includes tools for sequential action coordination, audio playback control, and live code reloading.

Features

  • Command Query Responsibility Segregation Patterns - Centrally implements Command Query Responsibility Segregation to separate state-changing operations from data-retrieval queries.
  • Game Architecture Layers - Organizes game logic into strict layers of models, systems, and controllers to separate data from presentation.
  • Data Querying - Provides a dedicated query system for retrieving specific information without modifying state.
  • Asset and Resource Management Systems - Handles the asynchronous loading and unloading of game resources using a reference counting model to optimize memory.
  • Asset Lifecycle Management - Implements a reference-counting system for loading and automatically unloading game assets from local and network sources.
  • Command Pattern Implementations - Implements a command execution mechanism to isolate data modification logic from the presentation layer.
  • Command Query Responsibility Segregation Patterns - A structural approach using commands for data modification and queries for retrieval to prevent controller bloat.
  • Dependency Injection Containers - Includes a dependency injection container to manage the registration and resolution of singletons and modular components.
  • Dependency Injection Frameworks - Provides a container to manage the registration and lifecycle of singletons and modular components to decouple logic.
  • Dependency Injection - Implements dependency injection to decouple software components by resolving required instances through a central container.
  • Inversion-of-Control Containers - Provides an inversion-of-control container for registering and retrieving singletons and modular components.
  • MVC Pattern Implementations - Decouples data, user interface, and interaction logic through a structured Model-View-Controller implementation.
  • Reactive Data Binding - Implements properties that trigger events on value changes to synchronize data across different architectural layers.
  • Layered Architectures - Employs a layered architecture that separates presentation, system, and model logic to ensure a strict data flow.
  • State Management Patterns - Utilizes a command-based state management pattern to ensure consistent mutations across the system and model layers.
  • Event-Driven State Synchronizers - Uses an event-driven synchronization system to notify higher architectural layers of data updates without circular dependencies.
  • Architectural State Synchronizers - Notifies higher architectural layers of data changes via a decoupled messaging system to prevent circular dependencies.
  • Unity Game Frameworks - Provides a layered software architecture for Unity that separates presentation, system, and data logic.
  • Live Reloading Environments - Allows modifying scripts and observing results in the running application without needing to restart the scene.
  • C# Game Development Workflows - Optimizes development productivity through a combination of fluent APIs, live reloading, and automated UI binding.
  • Game Engine Utilities - Ships a comprehensive library of tools for asset management, object pooling, and audio control tailored for Unity.
  • Sequential Action Coordination - Provides a system to execute tasks, delays, and callbacks in a defined order or in parallel.
  • Audio Playback - Provides a system for playing background music and sound effects with integrated volume control and asynchronous loading.
  • Global Event Dispatchers - Implements a decoupled messaging system to dispatch events to registered listeners globally or through specific systems.
  • Asset Lifecycle Tracking - Implements reference-counting asset management to automatically unload local and network resources when no longer needed.
  • Application Component Lifecycles - Manages the initialization and cleanup sequences for systems and models to ensure clean setup and teardown.
  • Infrastructure Wrappers - Provides a dedicated utility layer that encapsulates low-level APIs for networking and storage.
  • Object Pooling - Provides object pooling to reuse frequently created and destroyed game objects and reduce garbage collection overhead.
  • Interface Panel Lifecycle Management - Provides a navigation stack to control the opening, closing, and layering of interface panels and back-button logic.
  • Hierarchical Navigation Stacks - Manages the lifecycle and layering of interface screens using a hierarchical navigation stack.
  • Reactive Property Bindings - Uses reactive property bindings to automatically synchronize user interface elements with underlying data changes.
  • Automated Component Binders - Generates scripts that map object references to class fields, eliminating manual drag-and-drop assignments.

Star history

Star history chart for liangxiegame/qframeworkStar history chart for liangxiegame/qframework

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to QFramework

Similar open-source projects, ranked by how many features they share with QFramework.
  • jeffijoe/awilixjeffijoe avatar

    jeffijoe/awilix

    4,088View on GitHub↗

    Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized system for registering and resolving services, decoupling application components by automating how dependencies are created and passed to the functions or classes that require them. The framework features an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports. It supports parameter-name-based injection and proxy-based resolution to manage how dependencies are delivered to constructors and functions. The s

    TypeScriptawilixdependency-injectionioc
    View on GitHub↗4,088
  • sergdort/cleanarchitecturerxswiftsergdort avatar

    sergdort/CleanArchitectureRxSwift

    4,100View on GitHub↗

    This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes software into distinct layers to decouple business rules from external frameworks, user interfaces, and infrastructure to improve testability and maintenance. The template incorporates Domain Driven Design to isolate core business logic and utilizes a modular application structure to divide features into independent modules. It employs the Coordinator pattern to remove routing logic from view controllers and a dependency injection framework to ensure components remain independent and

    Swift
    View on GitHub↗4,100
  • code4craft/tiny-springcode4craft avatar

    code4craft/tiny-spring

    4,089View on GitHub↗

    tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system for managing object lifecycles and dependency injection to decouple application components. The project features a bytecode proxy generator that enables method interception and behavioral modification for classes that do not implement interfaces. It uses pointcut expressions to match specific classes and methods for the execution of cross-cutting logic via dynamic proxies. The framework manages singleton components and resolves object dependencies using lazy initialization. Ap

    Java
    View on GitHub↗4,089
  • ellanjiang/gameframeworkEllanJiang avatar

    EllanJiang/GameFramework

    6,658View on GitHub↗
    C#game-developmentgame-frameworksgame-modules
    View on GitHub↗6,658
See all 30 alternatives to QFramework→

Frequently asked questions

What does liangxiegame/qframework do?

QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It implements a layered software architecture to manage complex game states and provides a game engine utility library to reduce boilerplate code.

What are the main features of liangxiegame/qframework?

The main features of liangxiegame/qframework are: Command Query Responsibility Segregation Patterns, Game Architecture Layers, Data Querying, Asset and Resource Management Systems, Asset Lifecycle Management, Command Pattern Implementations, Dependency Injection Containers, Dependency Injection Frameworks.

What are some open-source alternatives to liangxiegame/qframework?

Open-source alternatives to liangxiegame/qframework include: jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… sergdort/cleanarchitecturerxswift — This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes… code4craft/tiny-spring — tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system… ellanjiang/gameframework. android/sunflower — Sunflower is a reference implementation designed to demonstrate modern Android development patterns and… derekyrc/mini-spring — mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle…