.NET组件化开发示例分析
从“天下一统”到“借鸡生蛋”
两数相加示例:天下一统版
private void button1_Click(object sender, EventArgs e)
{
int a, b,c;
a = Convert.ToInt32(textBox1.Text);
b = Convert.ToInt32(textBox2.Text);
c = a + b;
label2.Text = c.ToString();
}
特征:
- 直接将功能代码写到时间响应方法中。
考虑:用户希望在输入数字时,能够直接看到结果而无需点击“=”按钮
- 将两数相加的功能抽取为独立的方法
- 在事件响应方法中只写方法名字
诸侯割据版
- 第一步
// 创建MathOpt类
public class MathOpt
{
public int Add(int x,int y)
{
return x + y;
}
}
- 第二步
private MathOpt cal = new MathOpt();
private void button1_Click(object sender, EventArgs e)
{
int a, b;
a = Convert.ToInt32(textBox1.Text);
b = Convert.ToInt32(textBox2.Text);
label2.Text = cal.Add(a,b).ToString();
}
借鸡生蛋版:基于程序集
- .NET平台上的组件化开发是基于程序集的
- “类库(Class Library)”项目可用于创建程序集
- 程序集实际上是一个.dll文件
- .NET项目通过“添加引用”使用程序集组件