GFramework/framework/model/AbstractModel.cs
GwWuYou 5aa11ddc41 feat(architecture): 添加架构核心组件与命令模式实现
- 新增 Architecture 基类与 IArchitecture 接口,实现单例模式与组件注册管理
- 集成 IOC 容器支持系统、模型、工具的依赖注入与生命周期管理
- 实现命令模式基础类 AbstractCommand 与接口 ICommand,支持带返回值命令
- 提供事件系统集成,支持事件的发布与订阅机制
- 添加控制器接口 IController,整合命令发送、事件注册与模型获取能力
- 创建详细的 README 文档说明各组件使用方式与设计模式应用
- 支持命令、查询、事件的统一调度与解耦通信机制
2025-12-09 15:32:17 +08:00

38 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GFramework.framework.architecture;
using GFramework.framework.model;
namespace GFramework.framework.model;
/// <summary>
/// 抽象模型基类实现IModel接口提供模型的基本架构支持
/// </summary>
public abstract class AbstractModel : IModel
{
/// <summary>
/// 模型所属的架构实例
/// </summary>
protected IArchitecture Architecture;
/// <summary>
/// 获取模型所属的架构实例
/// </summary>
/// <returns>返回当前模型关联的架构对象</returns>
public IArchitecture GetArchitecture() => Architecture;
/// <summary>
/// 设置模型所属的架构实例
/// </summary>
/// <param name="architecture">要关联到此模型的架构实例</param>
public void SetArchitecture(IArchitecture architecture) => Architecture = architecture;
/// <summary>
/// 初始化模型调用抽象方法OnInit执行具体初始化逻辑
/// </summary>
void IModel.Init() => OnInit();
/// <summary>
/// 抽象初始化方法,由子类实现具体的初始化逻辑
/// </summary>
protected abstract void OnInit();
}