实例工厂方法创建对象
2007-06-27 15:39
477 查看
using System;
using System.Collections;
using System.Text;
using System.Threading;
using Spring.Core;
using Spring.Context;
using Spring.Context.Support;
using System.Configuration;
namespace ConsoleApplication1.SpringNet
{
/// <summary>
/// 实例工厂方法创建对象
/// </summary>
public class Creator
{
public HelloWorld Create()
{
return new HelloWorld();
}
}
public class HelloWorld
{
internal HelloWorld()
{
}
public override string ToString()
{
return "实例工厂方法创建对象";
}
}
public class Program
{
static void Main()
{
IApplicationContext ctx = ConfigurationSettings.GetConfig("spring/context") as IApplicationContext;
object o = ctx.GetObject("HelloWorld");
object o2 = ctx.GetObject("HelloWorld");
Console.WriteLine(o);
Console.WriteLine(object.ReferenceEquals(o, o2)); // output: true
Console.ReadLine();
}
}
}
<configuration>
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="config://spring/objects" />
</context>
<objects xmlns="http://www.springframework.net">
<object id="HelloWorld" type="ConsoleApplication1.SpringNet.HelloWorld, test2" factory-method="Create" factory-object="Creator">
</object>
<object id="Creator" type="ConsoleApplication1.SpringNet.Creator,test2"/>
</objects>
</spring>
</configuration>
using System.Collections;
using System.Text;
using System.Threading;
using Spring.Core;
using Spring.Context;
using Spring.Context.Support;
using System.Configuration;
namespace ConsoleApplication1.SpringNet
{
/// <summary>
/// 实例工厂方法创建对象
/// </summary>
public class Creator
{
public HelloWorld Create()
{
return new HelloWorld();
}
}
public class HelloWorld
{
internal HelloWorld()
{
}
public override string ToString()
{
return "实例工厂方法创建对象";
}
}
public class Program
{
static void Main()
{
IApplicationContext ctx = ConfigurationSettings.GetConfig("spring/context") as IApplicationContext;
object o = ctx.GetObject("HelloWorld");
object o2 = ctx.GetObject("HelloWorld");
Console.WriteLine(o);
Console.WriteLine(object.ReferenceEquals(o, o2)); // output: true
Console.ReadLine();
}
}
}
<configuration>
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="config://spring/objects" />
</context>
<objects xmlns="http://www.springframework.net">
<object id="HelloWorld" type="ConsoleApplication1.SpringNet.HelloWorld, test2" factory-method="Create" factory-object="Creator">
</object>
<object id="Creator" type="ConsoleApplication1.SpringNet.Creator,test2"/>
</objects>
</spring>
</configuration>
相关文章推荐
- 83——工厂,实例方法,创建对象(6条)
- 工厂模式解决如何不通过new来创建实例对象的方法
- Spring工厂方法创建(实例化)bean实例代码
- 抽象工厂模式:简单工厂模式、工厂方法模式对比;在工厂方法模式中使用反射创建对象实例
- 【Effective Java读书笔记】创建和销毁对象(一):考虑使用静态工厂方法代替构造器
- nullJavascript中创建对象的五种方法实例
- java创建对象实例的三种方法
- Javascript创建自定义对象 创建Object实例添加属性和方法
- JS中定义对象方式二: 使用工厂方式创建对象(传递参数,及其改进方法)
- pb中创建连接webservice对象实例方法
- JavaScript创建对象方法实例小结
- 创建对象_工厂方法(Factory Method)模式 与 静态工厂方法
- Effective Java - 创建和销毁对象 - 静态工厂方法代替构造器
- 4.spring对象的创建(静态工厂 实例工厂 泛型,嵌套类型)
- 优先用静态方法创建对象,考虑用静态工厂方法代替构造器
- JavaScript使用工厂方法创建对象
- Objective-C对象初始化 、 实例方法和参数 、 类方法 、 工厂方法 、 单例模式
- 7.7.3:调用实例工厂方法创建Bean
- 对象的创建方法一之------工厂模式
- 创建和销毁对象(1)——考虑用静态工厂方法代替构造器