ObjectBuilder之创建策略祥解()        

                                                                      Written by 浪子 [walkingboy.cnblogs.com]    

前言:

 

ObjectBuilder已经默认制定了很多创建策略,可能看到这么多策略加上整个地方架构满天飞,反而搞不清楚如何去应用ObjectBuilder创建我们需要的对象了。研究它的原理只是为了更好的发挥它的功效,本系列将详细解析ObjectBuilder中的所有默认创建策略的原理以及应用:

 

 

1、类型映射策略(TypeMappingStrategy)


  


   [浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)

   方针规范(
ITypeMappingPolicy):


[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)public interface ITypeMappingPolicy : IBuilderPolicy

 

 

 

   具体方针(TypeMappingPolicy):

 

     
     

[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)public class TypeMappingPolicy : ITypeMappingPolicy



 

创建策略中的类型映射应用:

 

       

[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)public override object BuildUp(IBuilderContext context, Type t, object existing, string id)

       

 

应用举例:

      

[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)class Program

我们可以看到结果会输出:

[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)  MyConcreteClass


  可见我们通过指定方针就可以轻松的将抽象类或者接口类映射成为具体的实例类,而且这种转换是安全的
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)//检测是否能正常转换这两个类型
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)
Guard.TypeIsAssignableFromType(t, result.Type, t);
[浪子学编程][MS Enterprise Library]ObjectBuilder之创建策略祥解(一)


相关文章:

  • 2022-12-23
  • 2021-05-17
  • 2022-03-03
  • 2021-09-05
  • 2022-12-23
  • 2021-09-20
  • 2021-09-15
猜你喜欢
  • 2021-10-26
  • 2021-06-27
  • 2021-07-23
  • 2021-12-01
  • 2021-05-01
相关资源
相似解决方案