简体   繁体   English

我应该如何处理名称空间和类名冲突

[英]How should I deal with namespace and classname collisions

My program has a Model Foo and a namespace that I want to also call Foo. 我的程序有一个Model Foo和一个我也要称为Foo的命名空间。 They both make sense to me, but I want to avoid namespace and classname collisions. 它们对我都有意义,但我想避免名称空间和类名冲突。

Which one should I change? 我应该换哪一个? The namespace App.Foo or the Model App.Models.Foo? 是命名空间App.Foo还是模型App.Models.Foo?

Note: I'm using mvvm structure so I have binding code in the namespace App.Foo which uses App.Models.Foo in many places, therefore causing collisions unless I specify Models.Foo everytime (which is ugly). 注意:我使用的是mvvm结构,所以我在命名空间App.Foo中具有绑定代码,该命名空间在许多地方使用App.Models.Foo,因此除非我每次都指定Models.Foo(这很丑陋),否则会导致冲突。

I would opt for renaming App.Model.Foo to FooModel , as you would likely have at least one FooView and FooViewModel ... 我会选择重命名App.Model.FooFooModel ,因为你很可能至少有一个FooViewFooViewModel ...

Given your short description, Foo seems to be rather a high-level concept, and FooModel would be the "data" representation of this concept... 鉴于您的简短描述,Foo似乎是一个高级概念,而FooModel将是该概念的“数据”表示形式。

My 2 cents 我的2美分

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM