zoukankan
html css js c++ java
ObjectBuilder 学习笔记
[TestMethod]
public
void
CanCreateInstances()
//
测试是否能够创建实例
{
Builder builder
=
new
Builder();
//
对象建造器
Locator locator
=
CreateLocator();
//
定位器
ConstructorPolicy policy
=
new
ConstructorPolicy();
//
建立一个构造策略
policy.AddParameter(
new
ValueParameter
<
int
>
(
12
));
//
为策略加入参数
builder.Policies.Set
<
ICreationPolicy
>
(policy,
typeof
(SimpleObject),
null
);
//
将此策略加入建造器
SimpleObject m1
=
builder.BuildUp
<
SimpleObject
>
(locator,
null
,
null
);
//
建造对象
SimpleObject m2
=
builder.BuildUp
<
SimpleObject
>
(locator,
null
,
null
);
Assert.IsNotNull(m1);
Assert.IsNotNull(m2);
Assert.AreEqual(
12
, m1.IntParam);
Assert.AreEqual(
12
, m2.IntParam);
Assert.IsTrue(m1
!=
m2);
}
[TestMethod]
public
void
CanCreateSingleton()
{
Builder builder
=
new
Builder();
Locator locator
=
CreateLocator();
ConstructorPolicy policy
=
new
ConstructorPolicy();
policy.AddParameter(
new
ValueParameter
<
int
>
(
12
));
builder.Policies.Set
<
ICreationPolicy
>
(policy,
typeof
(SimpleObject),
null
);
//
为SimpleObject添加单实例策略。
builder.Policies.Set
<
ISingletonPolicy
>
(
new
SingletonPolicy(
true
),
typeof
(SimpleObject),
null
);
SimpleObject m1
=
builder.BuildUp
<
SimpleObject
>
(locator,
null
,
null
);
SimpleObject m2
=
builder.BuildUp
<
SimpleObject
>
(locator,
null
,
null
);
Assert.AreSame(m1, m2);
}
查看全文
相关阅读:
为什么重写equals方法还要重写hashcode方法?
提高数据库处理查询速度
ibatis缓存初探(1)
java四种数组排序
前台将勾选的多个属性放到一个value里面,是一个字符串,传到后台
Apache与Tomcat整合
web服务器和应用服务器概念比较
ibaits与spring整合的心得
spring3.0的jar包详解
JAVA:23种设计模式详解(转)2
原文地址:https://www.cnblogs.com/tansm/p/350113.html
最新文章
(转)全面认识一下.NET 4的缓存功能
JS打开新窗口防止被浏览器阻止的方法
JS中函数定义和函数表达式的区别
JavaScript数据类型--值类型和引用类型
JavaScript内部原理系列-变量对象(Variable object)
JavaScript内部原理系列-执行上下文(Execution Context)
JavaScript内部原理实践——真的懂JavaScript吗?(转)
【转】编写高质量代码改善C#程序的157个建议——建议138:事件和委托变量使用动词或形容词短语命名
【转】编写高质量代码改善C#程序的157个建议——建议137:委托和事件类型应添加上级后缀
【转】编写高质量代码改善C#程序的157个建议——建议136:优先使用后缀表示已有类型的新版本
热门文章
【转】编写高质量代码改善C#程序的157个建议——建议135: 考虑使用肯定性的短语命名布尔属性
【转】编写高质量代码改善C#程序的157个建议——建议134:有条件地使用前缀
【转】编写高质量代码改善C#程序的157个建议——建议133:用camelCasing命名私有字段和局部变量
【转】编写高质量代码改善C#程序的157个建议——建议132:考虑用类名作为属性名
【转】编写高质量代码改善C#程序的157个建议——建议131:用PascalCasing命名公开元素
【转】编写高质量代码改善C#程序的157个建议——建议130:以复数命名枚举类型,以单数命名枚举元素
【转】编写高质量代码改善C#程序的157个建议——建议129:泛型类型参数要以T作为前缀
java多线程下的所的概念
Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
为什么需要用到序列化?为什么HttpSession中对象要序列化
Copyright © 2011-2022 走看看