# WillFramework
**Repository Path**: WillChan007/will-framework
## Basic Information
- **Project Name**: WillFramework
- **Description**: 这是一个用于 Unity 游戏开发的 C# 语言类 MVC 架构 ── WillFramework。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-07-21
- **Last Updated**: 2025-10-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Will Framework
Attention:This framework is outdated and no longer receives updates or maintenance. Please go to the following link: WillFrameworkPro
### 简介
这是一个用于 Unity 应用开发的 C# 语言类极简 MVC 架构 ── WillFramework。
WillFramework 体量小巧, 支持自动化的 IOC 单例注册、单例依赖注入以及注入权限管理,拥有各种拿来即用的 Attributes。
WillFramework 拥有基于观察者模式的数据驱动事件系统、汇报事件系统和命令事件系统。
WillFramework 支持启动时自动化执行的 Initialize 代码(需要继承 AutoInitialize 接口)。
WillFramework 支持 View 层事件自动注销功能。
### 角色关系
~~通常情况下,WillFramework 具有三个角色:View,Service,Model。三个角色通讯关系如下所示:~~
~~~~
#### CommandManager
~~CommandManager 作为框架的受 Ioc 容器托管的内置对象,拥有两个级别:HighLevelCommandManager、LowLevelCommandManager。
HighLevelCommandManager 能够发布和执行命令,LowLevelCommandManager 只能监听命令。每个角色的引用权限可能有所区别,View 层内嵌了 LowLevelCommandManager 和 HighLevelCommandManager 的功能,Service 只能引用 HighLevelCommandManager,Model 无法引用任何类型的 CommandManager。~~
### 类图关系
~~(黄色块为用户的自定义类型)~~
~~~~
### View
~~View 角色比较特殊,通常要继承 Monobehavior,也就说明它的生命周期无法被 WillFramework 掌控。WillFramework 提供了基类 BaseView,默认继承了 Monobehavior,View 通过继承 BaseView 能够获得事件监听、执行以及自动注销的功能。View 需要和 Unity 对接后传入至 Application 的启动参数,只有这样才会被纳入 Ioc 容器的管理。~~
### Attributes
~~WillFramework 提供了很多强语义化的注解,[View], [Controller], [Service], [Model], [Identity],其中 Identity 为原始类型,打上该注解的类的生命周期会受到 WillFramework Ioc 容器的管理,默认模式为单例模式,因此用户无须操心对象的单例创建,回收等问题。~~
### 权限注入管理
~~WillFramework 提供了可高度定制的权限注入方式,但是不建议用户在初期修改角色之间的注入权限,以免过度违背 MVC 框架的定义。~~