`

Person对象中"姓-名"的设计及中英习惯不同的问题

    博客分类:
  • java
阅读更多
以前一直用 FirstName,LastName来进行设计,一般来说FirstName代表名,LastName代表姓,但咱中国人可不是这么整的,小日本,韩国也不是这么整的。

在gmail里发邮件时,在发件人里看见自己的名字在前姓在后,别扭啊。

想设计个比较好的结构
1. FullName ,FamilyName设计,个人觉得LastName代表姓,完全是按照老外自己的习惯而言的,从字面看就是后一个名字,有歧义,还是用FamilyName来表达姓比较好。之所以要这个FamilyName,无非是有时需要,Welcome,Mr Gui,或者桂先生你好等。

2. FirstName,LastName,isTurnName,isTurnName用来表示姓名是否倒置。

3. CnXing,CnMing,EnFirstName,EnLastName, 个人有些大汉族主义,觉得未来很长时间中文和英文是两种主要语言,中文名,英文名也将成很多人都需要准备的名字。其他民族名,不考虑。

如果你设计一个网站,对于个人信息的设计,你会选哪一种?
分享到:
评论
7 楼 caryl 2008-08-04  
直接用name1、name2得了
对于老外,name1是lastname,name2是firstname;对于中国人,name1叫姓,name2叫名
6 楼 hax 2008-08-02  
name很难做到国际化。因为有些文化里名字有超过2个部分,比如middle name。还有prefix和suffix。有些文化里甚至没有姓。

如果考虑中国传统的,那还有 generation name (也就是许多人名字当中有个字是按家谱辈份排的)。甚至还有字、号等。

此外对于女性来说还有夫家姓。

所以可以说没有一个放之四海的方案。如果有,也会非常的复杂。

不过考虑一般IT系统在绝大多数情况下的需求,无外乎:

full name 法律意义上的全名
given name 名
family name 姓
display name 用于显示的名字

举例如下:
full name: John Hax
given name: John
family name: Hax
display name: Dr. Hax

此外有些系统需要加入姓名检索方式。比如可以用“Hax, John”表示姓名检索两个部分,先比较Hax再比较John。

5 楼 都别装了 2008-06-25  
jasongreen 写道
都别装了 写道
数据库还是叫first / last name 在页面显示的时候做i18n不就好了么 还弄这么多ooxx name出来 真是有空哦!!


name怎么做i18n?

person 和 name 是 one-to-many的关系
name对象上有属性标明它是什么语言
明白否??
4 楼 quaff 2008-06-25  
我搞不懂的是老外为什么一定要把first name和last name分开,直接用一个name不就完事了
3 楼 jasongreen 2008-06-25  
都别装了 写道
数据库还是叫first / last name 在页面显示的时候做i18n不就好了么 还弄这么多ooxx name出来 真是有空哦!!


name怎么做i18n?
2 楼 都别装了 2008-06-25  
数据库还是叫first / last name 在页面显示的时候做i18n不就好了么 还弄这么多ooxx name出来 真是有空哦!!
1 楼 叶子 2008-06-25  
e文 显示时候就颠倒下顺序不就得了。。

相关推荐

    Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company

    pta题目java的继承覆盖综合题源码,全部内容为自己原创,能够运行但是有些代码可能写的不是很精简,这个摘要也太长了吧,凑不够字数啊

    Person--Evalute--System

    标题“Person--Evalute--System”暗示我们正在讨论一个用于评估个人表现的系统,而该系统可能使用了MFC(Microsoft Foundation Classes)框架,并且与IP(Internet Protocol)地址有直接关联。MFC是微软提供的C++库...

    person-directory-api-1.0.0.zip

    "person-directory-api-1.0.0.zip" 提供了一个开源项目,名为 "person-directory",它是一个通用接口,专门用于访问人员属性。这个接口的设计目标是为开发者提供一种标准化、高效且灵活的方式来获取和操作员工的相关...

    Multi-Camera-Person-Tracking-and-Re-Identification:跟踪和重新识别不同摄像机视频中的个人的简单模型。(Yolov3和Yolov4)

    多摄像机人员跟踪和重新识别(使用视频) 用于“检测/跟踪”和“重新识别”不同摄像机/视频中的个人的简单模型。介绍该项目旨在跟踪不同角度的视频中的人。 用于完成此任务的框架分别依靠MOT和ReID来跟踪和重新标识...

    Video-Person-ReID-master_reID_

    标题中的"Video-Person-ReID-master_reID_"和描述中的"Person_reID_baseline_pytorch-master"都指向了一个特定的领域——行人重识别(Person Re-Identification,简称ReID)。行人重识别是计算机视觉领域的一个重要...

    Java-面向对象设计-类和对象.docx

    Java面向对象设计类和对象是面向对象程序设计的基础,它将现实世界模型自然延伸到程序设计中。类和对象是面向对象设计的核心概念,类描述对象的属性和行为,对象是类的实例,是一个实实在在的个体。 类是对象的模板...

    面向对象程序设计答案-马石安

    在这个答案中,我们将深入探讨面向对象程序设计的核心原理及其在实际编程中的应用。 首先,面向对象程序设计(Object-Oriented Programming,简称OOP)的核心概念包括类(Class)、对象(Object)、继承...

    面向对象程序设计-java

    面向对象程序设计是软件开发的一种核心思想,Java作为一种流行的面向对象编程语言,广泛应用于各种领域。本教程将深入探讨Java的基础知识,特别是关于类、对象和继承的概念。 首先,我们来了解一下“类”。在Java中...

    CVPR2017 Person Re-Id

    2. 《One-Shot-Metric-Learning-for-Person-Re-identification-Paper》:一击式(One-Shot)学习通常指的是仅用一次或少量样本就能进行有效学习的方法。此论文可能提出了适用于行人再识别的一种新的度量学习策略,...

    exp-schp-201908270938-pascal-person-part.pth

    Self-Correction-Human-Parsing SCHP models exp-schp-201908270938-pascal-person-part.pth

    Java面向对象程序设计-多态案例实践.pptx

    多态是面向对象程序设计中的一种机制,它允许在不同的上下文中对同一个方法或操作符号进行不同的解释。多态可以提高程序的灵活性和可扩展性,使得程序能够更好地适应不同的应用场景。 在Java中,多态可以通过继承和...

    Ch09-面向对象程序设计-Python程序设计与算法基础教程(第2版)-江红-清华大学出版社.ppt

    面向对象编程是Python编程语言中的核心概念之一,它基于封装、继承和多态三大原则。在本章中,我们将深入探讨这些概念以及相关的知识点。 首先,面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,...

    Java面向对象程序设计-分层(什么是分层开发).pptx

    Java面向对象程序设计中,分层开发是一种软件开发方法,它将整个项目划分为多个层次,每个层次负责特定的功能,从而提高了软件的可维护性、可扩展性和可重用性。本文将对分层开发的概念、原则和实现方法进行详细的...

    javascript 经典面向对象设计

    标题“JavaScript经典面向对象设计”指出了本书的主要内容是关于如何使用面向对象编程(OOP)原则和技术来编写高质量、可扩展且可重用的JavaScript应用程序及库。描述中提到本书相比其他中文资料更为清晰,深入到...

    Person类和它的两个子类Student、Employee

    在这个问题中,我们讨论了一个基本的类层次结构,其中`Person`类是顶级抽象类,而`Student`和`Employee`是其直接子类。进一步,`Employee`类有两个更具体的子类,即`Faculty`(教员)和`Staff`(职员)。这种设计...

    JAVA编程基础-05面向对象基础-zhouxl.pdf

    - 例如,在一个类中可以定义两个名为“计算”的方法,一个接受整数参数,另一个接受浮点数参数。 #### 对象的创建和使用 **创建对象**: - 创建对象的过程通常涉及到使用类的构造器。 - 构造器是一种特殊的方法,...

    Java面向对象程序设计-如何使用继承(录).pptx

    在对象_oriented_programming(面向对象程序设计)中,继承是最重要的一种机制,它允许一个类继承另一个类的属性和方法,从而实现代码的重用和继承关系。继承的使用可以使得代码更加简洁、易于维护和扩展。 在Java...

    java面向对象的设计方法

    面向对象(Object-Oriented,简称OO)设计方法是现代软件开发中的核心理念,它源自于...通过学习和实践,我们可以将现实生活中的问题抽象成对象,用面向对象的方式去解决问题,这也是面向对象设计方法的精髓所在。

    Visual Basic.NET 面向对象编程指南-随书光盘源码

    《Visual Basic.NET 面向对象编程指南》是一本深入探讨如何使用Visual Basic.NET进行面向...每个章节的代码示例都是精心设计的,可以帮助读者逐步掌握面向对象编程的核心技巧,并将其应用于实际的VB.NET开发工作中。

    Java面向对象程序设计-instanceof运算符.pptx

    在Java面向对象编程中,`instanceof`运算符是一个至关重要的概念,特别是在处理类与类之间的关系时。农业信息系统开发中,我们可能需要处理多种类型的对象,如农作物、动物、农机具等,这些对象可能继承自同一基类或...

Global site tag (gtag.js) - Google Analytics