對於我們的應用程序來說,它有一個網站和一個後端,我們非常喜歡爲人們捕捉一個「全名」的概念,以允許表達某人姓名的多種不同方式。然而;如何在不借助「標題,名字,姓氏」字段的情況下記錄一個人的姓名?
- 支付服務供應商希望「所有的名字,姓」,這 是強制性的銀行卡支付
- 人希望有一個奇異的「名字」,因此該公司可以被看作是更多的「個人」簡訊
- 賬目的人希望能夠通過
- 我們的程序員已經在我們的數據庫中發現以下客戶端「姓」進行排序:
- 西蒙瑪麗亞 - 她的「名」是瑪麗亞和她的「姓」是西蒙
- 達內什 - 只有一個名字(雖然我認爲這是不同的寫在相應的字符集!)
- 陳心蘭 - 不知道這是第一個名字或姓氏(據推測,該客戶端會寫在羅馬字符集,如果被迫這樣做)
這使得有必要單獨捕獲每個人的名字的元素,並以某種方式使這真的不適合「稱號的名字,第一姓氏,姓氏「模式無論如何都適合。
因此,如果沒有「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
它不僅僅是一個設計模式的域模式 - 大多數人在「四人幫」風格問題的背景下使用設計模式。 –