多层应用程序中的类的推荐命名约定是什么?

cit*_*nas 13 c# asp.net naming-conventions

我有类名/命名空间/控件的命名问题.

在我的商业库中,我有名为Shopping的名称空间.它包含以下类:ShoppingCartItem
ShoppingCart
ShoppingCartManager

在我的ASP.net应用程序中,我想创建一个控件,以图形方式表示ShoppingCart实例的项目.通常情况下,我会调用那个控件ShoppingCart,但是另一个名为ShoppingCart的类?当然编译等也可以,但我认为它仍然很难看.我想我有一个问题,就是我把我的商业课程命名为他们应该代表的东西.因为当涉及到表示层时,我会将应该代表业务类的控件命名为相同.

我想我可以添加像"View"这样的后缀,但我想做得对.

对于多层应用程序,建议命名修改是什么?
我应该如何命名表示表示层中ShoppingCart项目的控件?

编辑:相关问题: 如何命名数据库包装器对象?

tc.*_*tc. 10

在MVC范例中,拥有,和Foo,相当普遍.FooViewFooController

您可能会认为将它们放在不同的层次结构中更容易(Shopping.Model.Cart,Shopping.View.Cart).它在概念上很干净,但我认为这是不可读的.您可以在不同的命名空间中使用不同的名称(Shopping.View.CartView).

一个好的IDE会让你移动/重命名,所以不值得花太多时间来担心选择一个完美的名字.是它更重要的非常上你什么造型和它的限制是什么不清楚.例如...

  • Car汽车的实例还是汽车的特定品牌/型号?是摩托车car吗?如果你要重命名Vehicle,自行车是一辆车吗?
  • 是一种Item项目,项目的实例,还是项目的quantity实例?
  • ShoppingCart刚刚的项目/数量的名单,还是有其他的功能?它是否通过对数量求和来合并项目的重复项?
  • 愿望清单是一种特殊的购物车(尚未购买的那种),还是其他什么?
  • 你可以"保存"一个购物车并获得报价(这样你就可以打印出来,把它拿给你的老板,让它签字,然后购买)?报价存储在哪里?


mik*_*nne 8

其他StackOverflow人员可能知道的更好,但据我所知,没有与分层架构相关的普遍接受或行业标准的命名约定.虽然我认为你走在正确的轨道上:比特定的命名更多,选择一种方法并始终如一地使用它将有助于使代码更易于维护.