当前位置:  开发笔记 > 编程语言 > 正文

Winforms - 最佳目录/项目结构

如何解决《Winforms-最佳目录/项目结构》经验,为你挑选了2个好方法。

希望看到人们关于在winforms C#app的项目/解决方案上组织目录和项目结构的最佳方法的想法.

大多数人都同意最好的分离视图,业务逻辑,数据对象,接口,但想看看不同的人如何解决这个问题.此外,将第三方依赖项隔离到实现项目中,然后让消费者引用的接口导出项目

View.csproj

BusinessLogic.csproj

Data.csproj

CalculatorService.Exported.csproj(接口)

CalculatorService.MyCalcImpl.csproj(一个实现)

CalculatorService.MyCalcImpl2.csproj(另一个实现)

此外,在文件夹结构方面,什么是更好的嵌套:

接口
--- IFoo
--- IData
Impl
--- Foo
---数据

要么

产品
---接口/ IP
产品--- Impl /产品
Foo
--- Impl/Foo
---接口/ IFoo

所有人都试图推动对抽象的分离依赖和快速改变实现的能力.

思考?最佳做法?

Odd.. 7

对我来说,这取决于我所遵循的模型.如果我使用的是MVC,那就是

Project
-Models
-Controllers
-Views

或者对于MVP来说

Project
-Models
-Presenters
-Views

在视图下,我将它们分成与控制器相关的命名空间,即如果我有一个控制器来处理库存事务,我可能会将其作为

Project
-Models
--Inventory
-Controllers
--Inventory
---TransactionsController.cs
-Views
--Inventory
---Transactions
----EditTransactionsView.dfm

对于接口,我将接口放在与实现相同的目录中.



1> Odd..:

对我来说,这取决于我所遵循的模型.如果我使用的是MVC,那就是

Project
-Models
-Controllers
-Views

或者对于MVP来说

Project
-Models
-Presenters
-Views

在视图下,我将它们分成与控制器相关的命名空间,即如果我有一个控制器来处理库存事务,我可能会将其作为

Project
-Models
--Inventory
-Controllers
--Inventory
---TransactionsController.cs
-Views
--Inventory
---Transactions
----EditTransactionsView.dfm

对于接口,我将接口放在与实现相同的目录中.



2> Nick Bedford..:

有点迟到的答案,但也可以插话.

我一直在根据实际的项目类型亲自使用文件夹.例如:

- Project
    + Forms
    + Classes
    + UserControls
    + Resources
    + Data

所以我最终得到:

new Forms.AboutForm().ShowDialog();
Controls.Add(new Controls.UberTextBox());

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有