代码设计,求达人解惑

startstartsvip 2012-09-07 10:56:16
如果说我有如下两个类:

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


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 的方法?

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

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


求设计想法,事例,关键词
...全文
176 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xia420440191 2012-09-09
  • 打赏
  • 举报
回复
看不懂。
lshfong 2012-09-09
  • 打赏
  • 举报
回复
你用一个空模板,然后加载用户配置,就能生成用户自定义的界面
startstartsvip 2012-09-09
  • 打赏
  • 举报
回复
额,快要崩溃了
愚知 2012-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 4 楼 的回复:

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


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


C# code
public void MethodA();
[/Quote]

interface baseForm
interface baseFormService
刚才我在想,你现在需要做的是剥离,分割,把你的项目,业务,分解为一个一个level。
打个比方,一个网页是有N个div组成的,现在以div就是一个基本单位,因此可以抽象出div接口, 这种粒度比较合适,你可以为div实现定义长宽,颜色,各种属性的方法,这些都在接口里面实现。
最终你在服务层里面,只需处理,用户定义的各个div,你以你自己定义的某种处理逻辑,处理用户的设置,最终经过service处理,验证,展现出来就是一个diy站点了。
startstartsvip 2012-09-07
  • 打赏
  • 举报
回复

[Quote=引用 5 楼 的回复:]

既然做设计页面,不如考虑生成代码呢,要容易一些吧。
[/Quote]

是 winform。。。。。。
startstartsvip 2012-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

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

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


public void MethodA();
shizhu820228 2012-09-07
  • 打赏
  • 举报
回复
既然做设计页面,不如考虑生成代码呢,要容易一些吧。
愚知 2012-09-07
  • 打赏
  • 举报
回复
你要实现的是自助建站类似的问题。你现在先要把用户可能做得操作,剥离处理,抽象成接口。
具体的各种实现依赖于接口。
然后用户的各种操作,调用你实现接口的方法,合理的事件用来驱动你的方法,而不是一个ok,调用一堆方法。
startstartsvip 2012-09-07
  • 打赏
  • 举报
回复
bug 修正

C# code
public void DoSomethingWithClassA(ClassA ca ){

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

}
startstartsvip 2012-09-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

可以根据用户的权限配置来判断该用户可以执行哪些业务逻辑,对于管理者而言,只需要分配给用户相应的权限就可以了,而不是让用户规定类中该调用哪些方法吧.
[/Quote]

是要设计一个编辑器,让用户自己设计
  • 打赏
  • 举报
回复
可以根据用户的权限配置来判断该用户可以执行哪些业务逻辑,对于管理者而言,只需要分配给用户相应的权限就可以了,而不是让用户规定类中该调用哪些方法吧.
  • 打赏
  • 举报
回复
看看codedom吧,这个简单的可以实现,但是如果想要通用就会变得很复杂,做起来也相当困难
## 项目介绍 - 一款以**学生**为主要用户群体的**运动社区APP**,[**演示视频**](https://v.youku.com/v_show/id_XNDU2ODgzMDI4NA==.html)直达; - 项目曾获得中国计算机大赛国赛二等奖,现将该项目开源(注:仅供学习交流、严禁用于商业用途); - 目前在该仓库中维护有完整的**移动端源码**、**服务器端源码**和**软件设计开发文档**; ---- ## 功能概括 #### 1.「运动监测」 - 实时运动计步,用运动步数进行每日打卡。 - 灵活运动计时,记录自己每天的运动时长。 - 查看自己的运动监测历史,见证付出的汗水与蜕变的惊喜。 #### 2.「运动轨迹」 - 精准定位服务,实时记录自己的运动轨迹路线。 - 查看运动轨迹详情,清楚自己的运动规律。 #### 3.「运动计划」 - 设置自己的运动步数,给自己一个明确的运动目标。 - 设置计划提醒,定时提醒自己的运动计划进度。 #### 4.「运动推荐」 - 基于监测数据分析,推荐适合的跑步运动路线。 - 量体裁衣,根据运动喜好和相关因素,推荐适合的运动项目。 - 每日定时推送运动好文,学会运动爱上运动。 #### 5.「运动排名」 - 全部排名,了解自己在平台上的运动水平。 - 同校排名,认证学校后查看自己的校内排名。 - 学校TOP10,进行高校排名,清楚每个学校的运动情况。 #### 6.「运动日记」 - 丰富的日记编辑功能,记录自己的运动历程。 - 公开与不公开处理,既可分享他人也可私密保存。 #### 7.「运动成长」 - 根据每天运动水平和运动强度确定运动等级,见证成长。 - 根据相关运动成长数据,确定运动达人类别,加入咨询社区。 #### 8.「运动讨论」 - 大声说出运动烦恼,这里有一群志同道合的小伙伴一起讨论解惑。 - 匿名和公开化处理,提出运动烦恼的同时充分保护你的隐私。 - 醒目的搜索入口,有时候轻轻一滑就能找到想要的答案。 #### 9.「运动咨询」 - 详细的运动达人分类,想要的达人这里都有。 - 定向咨询服务,让运动达人帮你成长,不再烦恼。 #### 10.「运动小组」 - 学生运动小组,社团运作方式,聚集志同道合的运动小伙伴。 - 发布小组活动,线上贯通线下,一起运动,一起锻炼。 - 发现运动小组,找到并加入自己学校或者感兴趣的运动小组。 #### 11.「运动课讯」 - 搜罗精彩运动课程,让学生学会运动、懂得运动。 - 网罗海量运动资讯,丰富多彩的运动经验知识。 - 专业健康饮食推荐、真实励志故事与运动经验分享。 #### 12.「运动商城」 - 简易实用的运动器材,学生不再为找不到运动器材而烦恼。 - 开设租赁板块,让闲置器材发挥最大价值,用更少的钱体验更好地运动。 #### 13.「运动圈子」 - 拍照记录每一天的变化,分享好友相互勉励。 - 写下心路历程,分享你的运动经验或者成长蜕变。 - 推荐、热门、同校板块设置,你想看的这里都有。 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧