- 主题:[求助]inheritance vs composition
是的,在C#这个架构体系下,我想用它自带的,或者是出于设计者设计目的的方法,应该还OK吧?
所以才有了开头的疑问,既然有人提出了prefer composition over inheritance的思想,不知道composition这种方式有没有天生的设计办法解决特定属性初始化的差异需求.
【 在 hongdiao 的大作中提到: 】
:
: "在inheritance结构下,可以通过构造器调用abstract method来强制子类实现特定属性的初始化."
: C#是可以这么玩,万一哪天你换个编程语言(比如C++)那绝对是掉坑里了。
--
FROM 115.221.139.*
Autofac用的不是很熟练, 是不是可以在注册实现相同Interface的Service时,给定不同的property让它们注册成有区别的Service. 然后在Composition的时候请求不同实现的Service注入?
想法不成熟,语言组织的有点乱,见笑
【 在 ustcBoy 的大作中提到: 】
: 是的,在C#这个架构体系下,我想用它自带的,或者是出于设计者设计目的的方法,应该还OK吧?
: 所以才有了开头的疑问,既然有人提出了prefer composition over inheritance的思想,不知道composition这种方式有没有天生的设计办法解决特定属性初始化的差异需求.
:
--
FROM 115.221.139.*
【 在 ustcBoy 的大作中提到: 】
: 是的,在C#这个架构体系下,我想用它自带的,或者是出于设计者设计目的的方法,应该还OK吧?
: 所以才有了开头的疑问,既然有人提出了prefer composition over inheritance的思想,不知道composition这种方式有没有天生的设计办法解决特定属性初始化的差异需求.
:
讨论限定在C#这个语言吗?
--
FROM 222.126.171.*
这是.net板块啊…
【 在 hongdiao (hongdiao) 的大作中提到: 】
:
: 【 在 ustcBoy 的大作中提到: 】
: : 是的,在C#这个架构体系下,我想用它自带的,或者是出于设计者设计目的的方法,应该还OK吧?
: : 所以才有了开头的疑问,既然有人提出了prefer composition over inheritance的思想,不知道composition这种方式有没有天生的设计办法解决特定属性初始化的差异需求.
--
FROM 60.180.32.*
下午看了一下Autofac的文档, 我觉得在注册的时候用Autofac的Keyed Services应该可以搞定了,
在执行组合的类进行ctor注入的时候,传递参数给IIndex,这样就能实现调用相同接口的不同实现了.
--
FROM 115.221.139.*