对于我们的应用程序来说,它有一个网站和一个后端,我们非常喜欢为人们捕捉一个“全名”的概念,以允许表达某人姓名的多种不同方式。然而;如何在不借助“标题,名字,姓氏”字段的情况下记录一个人的姓名?
- 支付服务供应商希望“所有的名字,姓”,这 是强制性的银行卡支付
- 人希望有一个奇异的“名字”,因此该公司可以被看作是更多的“个人”简讯
- 账目的人希望能够通过
- 我们的程序员已经在我们的数据库中发现以下客户端“姓”进行排序:
- 西蒙玛丽亚 - 她的“名”是玛丽亚和她的“姓”是西蒙
- 达内什 - 只有一个名字(虽然我认为这是不同的写在相应的字符集!)
- 陈心兰 - 不知道这是第一个名字或姓氏(据推测,该客户端会写在罗马字符集,如果被迫这样做)
这使得有必要单独捕获每个人的名字的元素,并以某种方式使这真的不适合“称号的名字,第一姓氏,姓氏“模式无论如何都适合。
因此,如果没有“Right Hon。Chev。John Barrington Smythe Doe III OBE LLD MEng”每个部分的字段,或者只有一个只输入“John”的字段,那么您如何构建应用程序和数据库在实践中,以便以后不会被抓到?
我已经通过SO职位如看: First name, middle name, last name. Why not Full Name?和 Person name structure in separate database table,但没见过的人如何实现最佳实践方法的任何实例不必处理时,在现实世界(捕捉“FULL_NAME”)与其他系统可能不是当前或最佳实践...
谢谢!
EDITED - 为清楚起见
设计模式?真? –
@Neville - “在特定环境下常见问题的一般可重用解决方案” - 为什么不? – boatingcow
它不仅仅是一个设计模式的域模式 - 大多数人在“四人帮”风格问题的背景下使用设计模式。 –