如何为具有 sub-products/modules 的产品命名空间?
How to naming namespaces for product that have sub-products/modules?
我仔细阅读了。是的,非常有帮助!
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-namespaces
假设您有以下产品和命名空间
Microsoft.Dynamics.Inventory is a DLL
Microsoft.Dynamics.Bank is a DLL
以上每个都有(视图、报告、实用程序等)
Microsoft.Dynamics.Inventory.DLL
我应该去吗?
Microsoft.Dynamics.Inventory.Sales.Reports
Microsoft.Dynamics.Inventory.Sales.Views
Microsoft.Dynamics.Inventory.Sales.Controls
Microsoft.Dynamics.Inventory.Purchase.Reports
Microsoft.Dynamics.Inventory.Purchase.Views
Microsoft.Dynamics.Inventory.Purchase.Controls
或去那个? (当前使用)
Microsoft.Dynamics.Inventory.Reports.Sales
Microsoft.Dynamics.Inventory.Views.Sales
Microsoft.Dynamics.Inventory.Controls.Sales
Microsoft.Dynamics.Inventory.Reports.Purchase
Microsoft.Dynamics.Inventory.Views.Purchase
Microsoft.Dynamics.Inventory.Controls.Purchase
当你写 using directives
时,第一个看起来不错。但是文件夹结构会很糟糕。
- 如果我使用第二种方法,我会得到非常好的结构化文件夹See Image
- 如果我使用第一种方法,每个子模块都有视图、报告、控件(重复)
请不要基于意见。其实我担心结构不好以后会变得更糟。
我无法想象 System.Data.SqlClient
的例子不是 System.SqlClient.Data
好吗?
通常
System.Data.Common can used bellow
System.Data.OleDb
System.Data.SqlClient
System.Data.AnyProvider
如何将该结构应用于我上面的示例?
备注
- 销售可能没有报告(那么第一种方法不好吗?)
- 购买可能没有控制(所以第一种方法不好吗?)
我看到在 MVC 架构中他们使用第二种方法。我不确定。
https://github.com/cruzerM/erp-bank-net/tree/master/ERP_BANK.Web/Views
那么我应该采用第二种方法吗?
如果 类 中的所有对象都相似,请尝试这种方法
Microsoft.Dynamics.Inventory.Reports
Microsoft.Dynamics.Inventory.Views
Microsoft.Dynamics.Inventory.Controls
在这些对象中,使用一种叫做 TransactionType 的东西来指示它是购买还是销售。
我仔细阅读了。是的,非常有帮助!
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-namespaces
假设您有以下产品和命名空间
Microsoft.Dynamics.Inventory is a DLL
Microsoft.Dynamics.Bank is a DLL
以上每个都有(视图、报告、实用程序等)
Microsoft.Dynamics.Inventory.DLL
我应该去吗?
Microsoft.Dynamics.Inventory.Sales.Reports
Microsoft.Dynamics.Inventory.Sales.Views
Microsoft.Dynamics.Inventory.Sales.Controls
Microsoft.Dynamics.Inventory.Purchase.Reports
Microsoft.Dynamics.Inventory.Purchase.Views
Microsoft.Dynamics.Inventory.Purchase.Controls
或去那个? (当前使用)
Microsoft.Dynamics.Inventory.Reports.Sales
Microsoft.Dynamics.Inventory.Views.Sales
Microsoft.Dynamics.Inventory.Controls.Sales
Microsoft.Dynamics.Inventory.Reports.Purchase
Microsoft.Dynamics.Inventory.Views.Purchase
Microsoft.Dynamics.Inventory.Controls.Purchase
当你写 using directives
时,第一个看起来不错。但是文件夹结构会很糟糕。
- 如果我使用第二种方法,我会得到非常好的结构化文件夹See Image
- 如果我使用第一种方法,每个子模块都有视图、报告、控件(重复)
请不要基于意见。其实我担心结构不好以后会变得更糟。
我无法想象 System.Data.SqlClient
的例子不是 System.SqlClient.Data
好吗?
通常
System.Data.Common can used bellow
System.Data.OleDb
System.Data.SqlClient
System.Data.AnyProvider
如何将该结构应用于我上面的示例?
备注
- 销售可能没有报告(那么第一种方法不好吗?)
- 购买可能没有控制(所以第一种方法不好吗?)
我看到在 MVC 架构中他们使用第二种方法。我不确定。
https://github.com/cruzerM/erp-bank-net/tree/master/ERP_BANK.Web/Views
那么我应该采用第二种方法吗?
如果 类 中的所有对象都相似,请尝试这种方法
Microsoft.Dynamics.Inventory.Reports
Microsoft.Dynamics.Inventory.Views
Microsoft.Dynamics.Inventory.Controls
在这些对象中,使用一种叫做 TransactionType 的东西来指示它是购买还是销售。