代码之家  ›  专栏  ›  技术社区  ›  Josh Close

持久化对象命名约定

  •  1
  • Josh Close  · 技术社区  · 16 年前

    我有一些POCO,并且有相应的持久性对象来执行CRUD。持久性对象的好名称是什么?我见过人们用“服务对象”这个术语来表示这些,但当我想到服务时,我想到的是WCF。也许“持久性对象”是最好的,但我想听听其他人的想法。

    5 回复  |  直到 16 年前
        1
  •  3
  •   Andrew Hare    16 年前
        2
  •  2
  •   Kevin Swiber    16 年前
        3
  •  2
  •   Joseph    16 年前

    在处理将对象持久化到数据存储时,一个常见的约定是存储库模式,因此您希望看到以下形式的命名约定(给定相应的Poco类型):

    PocoRepository
    
        4
  •  1
  •   kaze    16 年前

    如果持久化对象只是用于持久化,那么可能只是在名称中添加“persistor”,如Person\u persistor等。

        5
  •  0
  •   Maxime Gélinas    6 年前

    我使用以下约定:

    • <YourName> :要持久化的域类。(例如。 User )
    • <YourName(pluralized)>Repository UsersRepository )
    • Persitent<YourName> (可选) :真正持久化/存储的类。(存储库应在保存域类之前将其映射到此持久模型。)(可以位于 PersistentModels
        6
  •  0
  •   Pim Massink    4 年前

    我相信您正在寻找“数据访问对象”,或DAO后缀。

    假设您的代码中有客户的概念,数据库中有客户列,那么您可能会得到以下模型:

    • 顾客道
    • 顾客 -表示业务逻辑的类。也许它缺少一些与数据库相关的字段,但有一些与业务相关的字段或方法。例如,当您存储生日时,它可能有一个calculateAge()方法。
    • 顾客 -表示API向外部世界公开的内容的类。这意味着由于隐私原因,它可能不会公开生日。但是,它可能会公开额外的字段,例如“优惠券”,因为调用者获取这些字段可能也很有用。正如凯文·斯维伯(Kevin Swiber)在上文中提到的,并与马丁·福勒(Martin Fowler)联系在一起

    资料来源: https://en.wikipedia.org/wiki/Data_access_object

        7
  •  -1
  •   Craig Walker    16 年前