日期:2014-05-17  浏览次数:20869 次

代码设计,求达人解惑
如果说我有如下两个类:

C# code
 ClassA{
    //properties 
    public string NAME{set;get;}
    public string ID{set;get;}
    public int AGE{set;get;}
    //Methods
    public void DoSomething();
    private void MethodA();
    private void MethodB(string name);
    private void MethodC(string name);
    public void MethodD(string name,string id);
    public string getSomething(int age);
    }

    ClassB{
    public void Hello(int input);
    public void HelloWorld(string input);
    }

1)ClassA(有很多派生类),有什么好方法可以产生一个用户界面,可以让用户来配置这个类的属性?

2) ClassA, 现在有 有什么好方法可以产生一个用户界面,可以让用户来配置这个类,比如指定实例可以调用哪个方法,并且指定输入输出,说白了,就是用户自己简单的设计,然后运行。


C# code
public void DoSomethingWithClassA(ClassA ca ){

//就是用户自己在界面上简单的设计下面的过程,用户不用写代码
ca.MethodA();
ca.MethodB(ca.NAME);
ca.MethodB(ca.ID);
ca.MethodD(ca.NAME,getSomthing(ca.AGE));

}


3) 如果ClassA 实例 newClassA, 如果 ClassB,实例 newClassB, 怎样设计界面能让用户 自己指定 newClassB 去调用 newClassA's 的方法?

C# code
//代码效果,用户自己设计,不用写代码
ClassA newClassA...
ClassB newClassB...

newClassB.HelloWorld(newClassA.getSomething(newClassA.AGE));



求设计想法,事例,关键词

------解决方案--------------------
可以根据用户的权限配置来判断该用户可以执行哪些业务逻辑,对于管理者而言,只需要分配给用户相应的权限就可以了,而不是让用户规定类中该调用哪些方法吧.
------解决方案--------------------
你要实现的是自助建站类似的问题。你现在先要把用户可能做得操作,剥离处理,抽象成接口。
 具体的各种实现依赖于接口。
 然后用户的各种操作,调用你实现接口的方法,合理的事件用来驱动你的方法,而不是一个ok,调用一堆方法。
------解决方案--------------------
既然做设计页面,不如考虑生成代码呢,要容易一些吧。
------解决方案--------------------
探讨

引用:

你要实现的是自助建站类似的问题。你现在先要把用户可能做得操作,剥离处理,抽象成接口。
具体的各种实现依赖于接口。
然后用户的各种操作,调用你实现接口的方法,合理的事件用来驱动你的方法,而不是一个ok,调用一堆方法。


对,是有点类似,受教了, 还得想想


C# code
public void MethodA();

------解决方案--------------------
看看codedom吧,这个简单的可以实现,但是如果想要通用就会变得很复杂,做起来也相当困难
------解决方案--------------------
你用一个空模板,然后加载用户配置,就能生成用户自定义的界面
------解决方案--------------------
看不懂。