diff --git a/GFramework.Core.Abstractions/cqrs/IInput.cs b/GFramework.Core.Abstractions/cqrs/IInput.cs
new file mode 100644
index 0000000..18a0789
--- /dev/null
+++ b/GFramework.Core.Abstractions/cqrs/IInput.cs
@@ -0,0 +1,20 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+namespace GFramework.Core.Abstractions.cqrs;
+
+///
+/// 表示输入数据的标记接口。
+/// 该接口用于标识各类CQRS模式中的输入参数类型。
+///
+public interface IInput;
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/command/ICommandInput.cs b/GFramework.Core.Abstractions/cqrs/command/ICommandInput.cs
similarity index 64%
rename from GFramework.Core.Abstractions/command/ICommandInput.cs
rename to GFramework.Core.Abstractions/cqrs/command/ICommandInput.cs
index 7763fa4..97ec861 100644
--- a/GFramework.Core.Abstractions/command/ICommandInput.cs
+++ b/GFramework.Core.Abstractions/cqrs/command/ICommandInput.cs
@@ -1,7 +1,7 @@
-namespace GFramework.Core.Abstractions.command;
+namespace GFramework.Core.Abstractions.cqrs.command;
///
/// 命令输入接口,定义命令模式中输入数据的契约
/// 该接口作为标记接口使用,不包含任何成员定义
///
-public interface ICommandInput;
\ No newline at end of file
+public interface ICommandInput : IInput;
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/cqrs/notification/INotificationInput.cs b/GFramework.Core.Abstractions/cqrs/notification/INotificationInput.cs
new file mode 100644
index 0000000..05fa05d
--- /dev/null
+++ b/GFramework.Core.Abstractions/cqrs/notification/INotificationInput.cs
@@ -0,0 +1,20 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+namespace GFramework.Core.Abstractions.cqrs.notification;
+
+///
+/// 表示通知输入数据的标记接口。
+/// 该接口继承自 IInput,用于标识CQRS模式中通知类型的输入参数。
+///
+public interface INotificationInput : IInput;
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/query/IQueryInput.cs b/GFramework.Core.Abstractions/cqrs/query/IQueryInput.cs
similarity index 51%
rename from GFramework.Core.Abstractions/query/IQueryInput.cs
rename to GFramework.Core.Abstractions/cqrs/query/IQueryInput.cs
index 1aec2b6..1494f36 100644
--- a/GFramework.Core.Abstractions/query/IQueryInput.cs
+++ b/GFramework.Core.Abstractions/cqrs/query/IQueryInput.cs
@@ -1,6 +1,6 @@
-namespace GFramework.Core.Abstractions.query;
+namespace GFramework.Core.Abstractions.cqrs.query;
///
/// 查询输入接口,定义了查询操作的输入规范
///
-public interface IQueryInput;
\ No newline at end of file
+public interface IQueryInput : IInput;
\ No newline at end of file
diff --git a/GFramework.Core.Abstractions/cqrs/request/IRequestInput.cs b/GFramework.Core.Abstractions/cqrs/request/IRequestInput.cs
new file mode 100644
index 0000000..cec8802
--- /dev/null
+++ b/GFramework.Core.Abstractions/cqrs/request/IRequestInput.cs
@@ -0,0 +1,20 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+namespace GFramework.Core.Abstractions.cqrs.request;
+
+///
+/// 表示请求输入数据的标记接口。
+/// 该接口继承自 IInput,用于标识CQRS模式中请求类型的输入参数。
+///
+public interface IRequestInput : IInput;
\ No newline at end of file
diff --git a/GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs b/GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs
index 6f445f1..c2e3375 100644
--- a/GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs
+++ b/GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs
@@ -1,4 +1,5 @@
using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
using GFramework.Core.Abstractions.rule;
using GFramework.Core.architecture;
using GFramework.Core.command;
diff --git a/GFramework.Core.Tests/command/CommandExecutorTests.cs b/GFramework.Core.Tests/command/CommandExecutorTests.cs
index 908e258..ae9b39b 100644
--- a/GFramework.Core.Tests/command/CommandExecutorTests.cs
+++ b/GFramework.Core.Tests/command/CommandExecutorTests.cs
@@ -1,4 +1,4 @@
-using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
using GFramework.Core.command;
using NUnit.Framework;
diff --git a/GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs b/GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs
index 0019970..40e5333 100644
--- a/GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs
+++ b/GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs
@@ -1,3 +1,4 @@
+using GFramework.Core.Abstractions.cqrs.query;
using GFramework.Core.Abstractions.query;
using GFramework.Core.Abstractions.rule;
using GFramework.Core.architecture;
diff --git a/GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs b/GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs
index f63cbdd..a3cfb1c 100644
--- a/GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs
+++ b/GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs
@@ -1,4 +1,4 @@
-using GFramework.Core.Abstractions.query;
+using GFramework.Core.Abstractions.cqrs.query;
using GFramework.Core.query;
using NUnit.Framework;
diff --git a/GFramework.Core.Tests/query/QueryExecutorTests.cs b/GFramework.Core.Tests/query/QueryExecutorTests.cs
index 06a2770..d94dea6 100644
--- a/GFramework.Core.Tests/query/QueryExecutorTests.cs
+++ b/GFramework.Core.Tests/query/QueryExecutorTests.cs
@@ -1,4 +1,4 @@
-using GFramework.Core.Abstractions.query;
+using GFramework.Core.Abstractions.cqrs.query;
using GFramework.Core.query;
using NUnit.Framework;
diff --git a/GFramework.Core/command/AbstractAsyncCommandWithInput.cs b/GFramework.Core/command/AbstractAsyncCommandWithInput.cs
index 32017b9..0719b86 100644
--- a/GFramework.Core/command/AbstractAsyncCommandWithInput.cs
+++ b/GFramework.Core/command/AbstractAsyncCommandWithInput.cs
@@ -1,4 +1,5 @@
using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
using GFramework.Core.rule;
namespace GFramework.Core.command;
diff --git a/GFramework.Core/command/AbstractAsyncCommandWithResult.cs b/GFramework.Core/command/AbstractAsyncCommandWithResult.cs
index 2f0b3e8..bd22233 100644
--- a/GFramework.Core/command/AbstractAsyncCommandWithResult.cs
+++ b/GFramework.Core/command/AbstractAsyncCommandWithResult.cs
@@ -1,4 +1,5 @@
using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
using GFramework.Core.rule;
namespace GFramework.Core.command;
diff --git a/GFramework.Core/command/AbstractCommandWithInput.cs b/GFramework.Core/command/AbstractCommandWithInput.cs
index 01de19b..4836b14 100644
--- a/GFramework.Core/command/AbstractCommandWithInput.cs
+++ b/GFramework.Core/command/AbstractCommandWithInput.cs
@@ -1,4 +1,5 @@
using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
using GFramework.Core.rule;
namespace GFramework.Core.command;
diff --git a/GFramework.Core/command/AbstractCommandWithResult.cs b/GFramework.Core/command/AbstractCommandWithResult.cs
index da49177..b93b32e 100644
--- a/GFramework.Core/command/AbstractCommandWithResult.cs
+++ b/GFramework.Core/command/AbstractCommandWithResult.cs
@@ -1,4 +1,5 @@
using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
using GFramework.Core.rule;
namespace GFramework.Core.command;
diff --git a/GFramework.Core/command/EmptyCommandInput.cs b/GFramework.Core/command/EmptyCommandInput.cs
index fc47ce2..e510964 100644
--- a/GFramework.Core/command/EmptyCommandInput.cs
+++ b/GFramework.Core/command/EmptyCommandInput.cs
@@ -1,4 +1,4 @@
-using GFramework.Core.Abstractions.command;
+using GFramework.Core.Abstractions.cqrs.command;
namespace GFramework.Core.command;
diff --git a/GFramework.Core/cqrs/command/CommandBase.cs b/GFramework.Core/cqrs/command/CommandBase.cs
new file mode 100644
index 0000000..781b08f
--- /dev/null
+++ b/GFramework.Core/cqrs/command/CommandBase.cs
@@ -0,0 +1,32 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using GFramework.Core.Abstractions.cqrs.command;
+using Mediator;
+
+namespace GFramework.Core.cqrs.command;
+
+///
+/// 表示一个基础命令类,用于处理带有输入和响应的命令模式实现。
+/// 该类实现了 ICommand<TResponse> 接口,提供了通用的命令结构。
+///
+/// 命令输入数据的类型
+/// 命令执行后返回结果的类型
+/// 命令执行所需的输入数据
+public class CommandBase(TInput input) : ICommand where TInput : ICommandInput
+{
+ ///
+ /// 获取命令的输入数据。
+ ///
+ public TInput Input => input;
+}
\ No newline at end of file
diff --git a/GFramework.Core/cqrs/notification/NotificationBase.cs b/GFramework.Core/cqrs/notification/NotificationBase.cs
new file mode 100644
index 0000000..fe976a8
--- /dev/null
+++ b/GFramework.Core/cqrs/notification/NotificationBase.cs
@@ -0,0 +1,31 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using GFramework.Core.Abstractions.cqrs.notification;
+using Mediator;
+
+namespace GFramework.Core.cqrs.notification;
+
+///
+/// 表示一个基础通知类,用于处理带有输入的通知模式实现。
+/// 该类实现了 INotification 接口,提供了通用的通知结构。
+///
+/// 通知输入数据的类型,必须实现 INotificationInput 接口
+/// 通知执行所需的输入数据
+public class NotificationBase(TInput input) : INotification where TInput : INotificationInput
+{
+ ///
+ /// 获取通知的输入数据。
+ ///
+ public TInput Input => input;
+}
\ No newline at end of file
diff --git a/GFramework.Core/cqrs/query/QueryBase.cs b/GFramework.Core/cqrs/query/QueryBase.cs
new file mode 100644
index 0000000..77d4b0f
--- /dev/null
+++ b/GFramework.Core/cqrs/query/QueryBase.cs
@@ -0,0 +1,32 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using GFramework.Core.Abstractions.cqrs.query;
+using Mediator;
+
+namespace GFramework.Core.cqrs.query;
+
+///
+/// 表示一个基础查询类,用于处理带有输入和响应的查询模式实现。
+/// 该类继承自 Mediator.IQuery<TResponse> 接口,提供了通用的查询结构。
+///
+/// 查询输入数据的类型,必须实现 IQueryInput 接口
+/// 查询执行后返回结果的类型
+/// 查询执行所需的输入数据
+public class QueryBase(TInput input) : IQuery where TInput : IQueryInput
+{
+ ///
+ /// 获取查询的输入数据。
+ ///
+ public TInput Input => input;
+}
\ No newline at end of file
diff --git a/GFramework.Core/cqrs/request/RequestBase.cs b/GFramework.Core/cqrs/request/RequestBase.cs
new file mode 100644
index 0000000..9143c8d
--- /dev/null
+++ b/GFramework.Core/cqrs/request/RequestBase.cs
@@ -0,0 +1,32 @@
+// Copyright (c) 2026 GeWuYou
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using GFramework.Core.Abstractions.cqrs.request;
+using Mediator;
+
+namespace GFramework.Core.cqrs.request;
+
+///
+/// 表示一个基础请求类,用于处理带有输入和响应的请求模式实现。
+/// 该类实现了 IRequest<TResponse> 接口,提供了通用的请求结构。
+///
+/// 请求输入数据的类型,必须实现 IRequestInput 接口
+/// 请求执行后返回结果的类型
+/// 请求执行所需的输入数据
+public class RequestBase(TInput input) : IRequest where TInput : IRequestInput
+{
+ ///
+ /// 获取请求的输入数据。
+ ///
+ public TInput Input => input;
+}
\ No newline at end of file
diff --git a/GFramework.Core/query/AbstractAsyncQueryWithResult.cs b/GFramework.Core/query/AbstractAsyncQueryWithResult.cs
index 3020ef9..8799149 100644
--- a/GFramework.Core/query/AbstractAsyncQueryWithResult.cs
+++ b/GFramework.Core/query/AbstractAsyncQueryWithResult.cs
@@ -1,4 +1,5 @@
-using GFramework.Core.Abstractions.query;
+using GFramework.Core.Abstractions.cqrs.query;
+using GFramework.Core.Abstractions.query;
using GFramework.Core.rule;
namespace GFramework.Core.query;
diff --git a/GFramework.Core/query/AbstractQueryWithResult.cs b/GFramework.Core/query/AbstractQueryWithResult.cs
index 1f30940..b142fe4 100644
--- a/GFramework.Core/query/AbstractQueryWithResult.cs
+++ b/GFramework.Core/query/AbstractQueryWithResult.cs
@@ -1,4 +1,5 @@
-using GFramework.Core.Abstractions.query;
+using GFramework.Core.Abstractions.cqrs.query;
+using GFramework.Core.Abstractions.query;
using GFramework.Core.rule;
namespace GFramework.Core.query;
diff --git a/GFramework.Core/query/EmptyQueryInput.cs b/GFramework.Core/query/EmptyQueryInput.cs
index 80d9eea..57c0fe8 100644
--- a/GFramework.Core/query/EmptyQueryInput.cs
+++ b/GFramework.Core/query/EmptyQueryInput.cs
@@ -1,4 +1,4 @@
-using GFramework.Core.Abstractions.query;
+using GFramework.Core.Abstractions.cqrs.query;
namespace GFramework.Core.query;