构造函数与工厂在

构造函数与工厂在

本文介绍了构造函数与工厂在.NET框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是关于.NET框架的使用模式的文章。我不知道我的理解下面的摘录粗体部分。难道这意味着如果你改变创建对象的细节,你(可能)改变构造函数的参数?

来源: http://msdn.microsoft.com/en-us/杂志/ cc188707.aspx

解决方案

其实,我觉得,他们已经提供的例子不一定是很好的例子。

当你构建类工厂模式成为.NET更加有用。例如,看一下 WebRequest类

本类通常是通过调用实例:

 的WebRequest请求= WebRequest.Create(URL);
 

的WebRequest.Create方法使用工厂模式。根据URL的类型,将创建的WebRequest的不同类型(子类)。如果你把它传递一个的http:// URL,例如,你会真正创建的实例 - 一个的ftp:// URL将创建一个的。

利用这里的工厂模式,多类型的URL可以在以后添加不改变客户端上的任何code - 你只是传递了不同的URL(作为一个字符串),并得到一个新的对象

Below is an article about .net framework's use of patterns. I'm not sure I understand the bolded part in the excerpt below. Is it implying if you change the details of creating the object, you (might) change the constructor arguments?

From: http://msdn.microsoft.com/en-us/magazine/cc188707.aspx.

解决方案

I actually think that the examples they've provided are not necessarily great examples.

The Factory pattern becomes more useful in .NET when you're constructing classes. For example, look at the WebRequest class.

This class is normally instantiated by calling:

WebRequest request = WebRequest.Create(url);

The WebRequest.Create method uses the Factory pattern. Depending on the type of URL, it will create a different type (subclass) of WebRequest. If you pass it an http:// url, for example, you will actually create an HttpWebRequest instance - an ftp:// URL will create an FtpWebRequest.

By using the Factory pattern here, more URL types can be added later without changing any code on the client side - you just pass in the different URL (as a string), and get a new object.

这篇关于构造函数与工厂在.NET框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 13:34