diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureContext.cs b/GFramework.Core.Abstractions/architecture/IArchitectureContext.cs
index c0d5d05..0558b0d 100644
--- a/GFramework.Core.Abstractions/architecture/IArchitectureContext.cs
+++ b/GFramework.Core.Abstractions/architecture/IArchitectureContext.cs
@@ -71,6 +71,38 @@ public interface IArchitectureContext
/// 所有符合条件的工具类实例列表
IReadOnlyList GetUtilities() where TUtility : class, IUtility;
+ ///
+ /// 获取指定类型的所有服务实例,并按优先级排序
+ /// 实现 IPrioritized 接口的服务将按优先级排序(数值越小优先级越高)
+ ///
+ /// 服务类型
+ /// 按优先级排序后的服务实例列表
+ IReadOnlyList GetServicesByPriority() where TService : class;
+
+ ///
+ /// 获取指定类型的所有系统实例,并按优先级排序
+ /// 实现 IPrioritized 接口的系统将按优先级排序(数值越小优先级越高)
+ ///
+ /// 系统类型,必须继承自ISystem接口
+ /// 按优先级排序后的系统实例列表
+ IReadOnlyList GetSystemsByPriority() where TSystem : class, ISystem;
+
+ ///
+ /// 获取指定类型的所有模型实例,并按优先级排序
+ /// 实现 IPrioritized 接口的模型将按优先级排序(数值越小优先级越高)
+ ///
+ /// 模型类型,必须继承自IModel接口
+ /// 按优先级排序后的模型实例列表
+ IReadOnlyList GetModelsByPriority() where TModel : class, IModel;
+
+ ///
+ /// 获取指定类型的所有工具类实例,并按优先级排序
+ /// 实现 IPrioritized 接口的工具将按优先级排序(数值越小优先级越高)
+ ///
+ /// 工具类类型,必须继承自IUtility接口
+ /// 按优先级排序后的工具类实例列表
+ IReadOnlyList GetUtilitiesByPriority() where TUtility : class, IUtility;
+
///
/// 发送一个命令
///
diff --git a/GFramework.Core.Abstractions/bases/IPrioritized.cs b/GFramework.Core.Abstractions/bases/IPrioritized.cs
new file mode 100644
index 0000000..be0c5a7
--- /dev/null
+++ b/GFramework.Core.Abstractions/bases/IPrioritized.cs
@@ -0,0 +1,17 @@
+namespace GFramework.Core.Abstractions.bases;
+
+///
+/// 定义具有优先级的对象接口。
+/// 数值越小优先级越高,越先执行。
+/// 用于控制服务、系统等组件的执行顺序。
+///
+public interface IPrioritized
+{
+ ///
+ /// 获取优先级值。
+ /// 数值越小优先级越高。
+ /// 默认优先级为 0。
+ /// 建议范围:-1000 到 1000。
+ ///
+ int Priority { get; }
+}
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/ioc/IIocContainer.cs b/GFramework.Core.Abstractions/ioc/IIocContainer.cs
index 9a07c8d..8e87a2a 100644
--- a/GFramework.Core.Abstractions/ioc/IIocContainer.cs
+++ b/GFramework.Core.Abstractions/ioc/IIocContainer.cs
@@ -165,6 +165,24 @@ public interface IIocContainer : IContextAware
/// 按指定方式排序后的实例列表
IReadOnlyList GetAllSorted(Comparison comparison) where T : class;
+ ///
+ /// 获取指定类型的所有实例,并按优先级排序
+ /// 实现 IPrioritized 接口的服务将按优先级排序(数值越小优先级越高)
+ /// 未实现 IPrioritized 的服务将使用默认优先级 0
+ ///
+ /// 期望获取的实例类型
+ /// 按优先级排序后的实例列表
+ IReadOnlyList GetAllByPriority() where T : class;
+
+ ///
+ /// 获取指定类型的所有实例,并按优先级排序
+ /// 实现 IPrioritized 接口的服务将按优先级排序(数值越小优先级越高)
+ /// 未实现 IPrioritized 的服务将使用默认优先级 0
+ ///
+ /// 期望获取的实例类型
+ /// 按优先级排序后的实例列表
+ IReadOnlyList