Ski*_*les 0 c# oop fluent-nhibernate
抱歉,如果已经问过这个问题但是,我看了一眼,找不到任何东西.我试图找出在C#中模拟以下内容的最佳方法.我勾勒出了一些想法,但没有一个感觉正确.
我创建了一个抽象的'Person'类.我的应用程序将拥有客户和员工.显然,客户是个人员工是个人
最后,我想使用Fluent NHibernate进行映射.我一直认为这应该很简单,我只是不直接思考,但是我可以使用哪种模式来解决这个问题.
谢谢.
cle*_*tus 11
您的问题是您的第一个前提:客户不是人(也不是员工).正如你所猜测的那样,一个人既可以是一个人,也可以是两个人.所以这不是你想要的"is-a"(继承)关系,它是一个"has-a"(组合)关联.
我们在这方面没有得到帮助,因为你所描述的是一个典型的例子,当我们在大学里学习OO编程,阅读书籍等时,我们会被教导,而且它不是一个好的模型.
一个人具有零个或多个角色.角色可以是客户,供应商,员工,经理或其他任何人.
如果您遵循该模型,您将获得更灵活(更准确)的内容.
我在这里描述的内容在CRM系统中非常常见,并且往往被称为Party系统.一般的想法是:
例:
这个主题有很多变化.