diff --git a/BallanceTasEditor/Utils/TasOperation.cs b/BallanceTasEditor/Utils/TasOperation.cs
new file mode 100644
index 0000000..535798f
--- /dev/null
+++ b/BallanceTasEditor/Utils/TasOperation.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BallanceTasEditor.Utils {
+
+ ///
+ /// TAS操作接口。所有TAS操作均需要支持此接口。
+ ///
+ public interface ITasOperation {
+ ///
+ /// 执行对应的TAS操作。
+ ///
+ /// 所要操作的TAS存储容器。
+ void Execute(ITasStorage storage);
+ }
+
+ ///
+ /// 可撤销的TAS操作接口,所有可撤销的TAS操作均需支持此接口。
+ ///
+ public interface ITasRevocableOperation : ITasOperation {
+ ///
+ /// 撤销对应TAS操作。
+ ///
+ /// 所要撤销操作的TAS存储容器。
+ void Revoke(ITasStorage storage);
+ }
+
+ public enum CellKeysOperationKind {
+ Set, Unset, Flip
+ }
+
+ public class CellKeysOperation : ITasRevocableOperation {
+
+ private CellKeysOperationKind m_Kind;
+
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+
+ public void Revoke(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+ public class CellFpsOperation : ITasRevocableOperation {
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+
+ public void Revoke(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+ public class RemoveFrameOperation : ITasRevocableOperation {
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+
+ public void Revoke(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+ public class AddFrameOperation : ITasRevocableOperation {
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+
+ public void Revoke(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+ public class InsertFrameOperation : ITasRevocableOperation {
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+
+ public void Revoke(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+ public class ClearKeysOperation : ITasOperation {
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+ public class UniformFpsOperation : ITasOperation {
+ public void Execute(ITasStorage storage) {
+ throw new NotImplementedException();
+ }
+ }
+
+}