积极答复者
一个设计模式的问题

问题
-
public partial class MdiChildForm : Form
{
。。。。。。
// 新建一个空日记并返回一个MdiChildForm窗体
public static MdiChildForm newMdiChildForm()
{
return new MdiChildForm(null);
}}
public partial class mainForm : Form
{
。。。。。。// 新建日记
private void NewToolStripMenuItem_Click(object sender, EventArgs e)
{
MdiChildForm childForm = MdiChildForm.newMdiChildForm();}
}
请教如上一段代码,是一个MDI多文档的例程节选, 有些疑惑划线的这句,这样的用法有何好处或者坏处呢? 为何不直接new MdiChildForm(null); 难道是某种设计模式吗?
答案
-
- 已建议为答案 Jason Dot WangModerator 2012年7月6日 5:17
- 已标记为答案 Jason Dot WangModerator 2012年7月12日 9:17
-
Hi focusdoit,
虽然不是很明显,但是的确是可以认为Stratery模式,就像验证码算法一样,只要面向接口,而不管这个接口的具体实现,只是抽象的调用这个接口的方法而已。
你可以看以下关于设计模式的具体内容,尤其是Stratery模式:
Discover the Design Patterns You're Already Using in the .NET Framework
希望对你有帮助。
Jason Wang [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jason Dot WangModerator 2012年7月12日 9:17
-
Hi focusdoit,
这个模式有利于帮助那些经常需要修改新的需求的项目,能够方便地添加新的功能,而不至于导致对系统的重大修改。简单的说,就是你可以把一些功能封装在一个DLL中,仅仅需要增加新功能的时候,单独对这个DLL进行功能扩展,然后再调用这个DLL的程序里仅仅修改一些引用参数。
希望我的回答你能够满意。
Jason Wang [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jason Dot WangModerator 2012年7月12日 9:17
全部回复
-
- 已建议为答案 Jason Dot WangModerator 2012年7月6日 5:17
- 已标记为答案 Jason Dot WangModerator 2012年7月12日 9:17
-
Hi focusdoit,
虽然不是很明显,但是的确是可以认为Stratery模式,就像验证码算法一样,只要面向接口,而不管这个接口的具体实现,只是抽象的调用这个接口的方法而已。
你可以看以下关于设计模式的具体内容,尤其是Stratery模式:
Discover the Design Patterns You're Already Using in the .NET Framework
希望对你有帮助。
Jason Wang [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jason Dot WangModerator 2012年7月12日 9:17
-
Hi focusdoit,
这个模式有利于帮助那些经常需要修改新的需求的项目,能够方便地添加新的功能,而不至于导致对系统的重大修改。简单的说,就是你可以把一些功能封装在一个DLL中,仅仅需要增加新功能的时候,单独对这个DLL进行功能扩展,然后再调用这个DLL的程序里仅仅修改一些引用参数。
希望我的回答你能够满意。
Jason Wang [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Jason Dot WangModerator 2012年7月12日 9:17