Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以下内容是否使用了一些设计模式?_C#_Design Patterns - Fatal编程技术网

C# 以下内容是否使用了一些设计模式?

C# 以下内容是否使用了一些设计模式?,c#,design-patterns,C#,Design Patterns,给定 以下操作是否使用了一些设计模式: class ClassA { void MethodA(ClassB ObjB) {...} } 及 ? 比如说 class ClassD { ClassB _objB; void MethodC(ClassA ObjA) {ObjA.MethodA(this._objB);} } 谢谢。它看起来像是访问者设计模式的轻型版本: 摘自您为什么要问,请提供一些背景信息,或者这只是一个提高您分数的问题。此代码是否有任何意义是完全

给定

以下操作是否使用了一些设计模式:

class ClassA
{
    void MethodA(ClassB ObjB) {...}
}

?

比如说

class ClassD
{   
    ClassB _objB;
    void MethodC(ClassA ObjA) {ObjA.MethodA(this._objB);}
}

谢谢。

它看起来像是访问者设计模式的轻型版本:


摘自

您为什么要问,请提供一些背景信息,或者这只是一个提高您分数的问题。此代码是否有任何意义是完全多余的?我想你可以随便给它取个名字,只要你能很好地证明它是有用的。你能提供一个吗?@Enigmativity:谢谢。刚刚加了一句。@Tim-还不太清楚。如果我复制并粘贴你的代码,它不会编译。谢谢。它是一个怎样的访问者模式?如果你看方法Accept,它看起来像方法a
class ClassD
{   
    ClassB _objB;
    void MethodC(ClassA ObjA) {ObjA.MethodA(this._objB);}
}
Class MyData
{
    int data;
    void Write(BinaryWriter writer){writer.Write(data);};
}
  using System;
  using System.Text;

  interface IExpressionVisitor
  {
    void Visit(Literal literal);
    void Visit(Addition addition);
  }

  interface IExpression
  {
    void Accept(IExpressionVisitor visitor);
  }

  class Literal : IExpression
  {
    internal double Value { get; set; }

    public Literal(double value)
    {
      this.Value = value;
    }
    public void Accept(IExpressionVisitor visitor)
    {
      visitor.Visit(this);
    }
  }