C# 使用MDI表单实现命令模式
我需要一些建议。我只是想了解一下设计模式。 我试过寻找和阅读,但我觉得迷路了。 我真的希望你能给我一个建议 在这里,我尝试附加一些图片和我的代码:C# 使用MDI表单实现命令模式,c#,command-pattern,C#,Command Pattern,我需要一些建议。我只是想了解一下设计模式。 我试过寻找和阅读,但我觉得迷路了。 我真的希望你能给我一个建议 在这里,我尝试附加一些图片和我的代码: 接口 public interface ICommand { void Execute(); } public interface IDataManipulation { void Append(); void Modify(); void Remove(); } public interface I
public interface ICommand {
void Execute();
}
public interface IDataManipulation {
void Append();
void Modify();
void Remove();
}
public interface IDataReload {
void Reload();
}
public class CommandDataManipulation : ICommand {
private IDataManipulation __receiver;
private DataManipulations __action;
public CommandDataManipulation(IDataManipulation receiver, DataManipulations action) {
__receiver = receiver ;
__action = action;
}
public void Execute() {
if (__receiver == null) return;
if (__action == DataManipulations.Append) __receiver.Append();
if (__action == DataManipulations.Modify) __receiver.Modify();
if (__action == DataManipulations.Remove) __receiver.Remove();
}
}
public class CommandDataReload : ICommand {
private IDataReload __receiver;
public CommandDataReload(IDataReload receiver) {
__receiver = receiver ;
}
public void Execute() {
if (__receiver == null) return;
__receiver.Reload();
}
}
public class InvokeDataCommand {
private static InvokeDataCommand __instance;
private ICommand __command;
private InvokeDataCommand() {
__instance = null;
}
public static InvokeDataCommand Instance() {
if (__instance == null) {
__instance = new InvokeDataCommand();
}
return __instance;
}
public void SetCommand(ICommand command) {
__command = command;
}
public void ExecuteCommand() {
__command.Execute();
}
}
public partial class Display : Form, IDataManipulation, IDataReload {
...
}
public partial class Display : Form, IDataManipulation, IDataReload {
...
}