问题标签 [project-organization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
403 浏览

model-view-controller - In MVC, where does code for background tasks belong?

I'm using ASP.NET, but I'm sure this pertains to any (or most) MVC frameworks.

When a new web project is created, you get a basic folder/semantic structure for your code:

  • Controllers (service requests from browsers)
  • Models (store and manipulate data)
  • Views (HTML pages)
  • Content (static content
  • Scripts (JavaScript)
  • App_Data (database files)

That's fine, but what if I want to have code that runs separately of browser requests -- for example, maybe a request runs some code, but in another thread, and continues executing after the request is completed. Or if the code is just run periodically independent of a request altogether.

In my case, the code would work on data -- generating it, cleaning it up, etc -- which makes me think it should go in models. But it doesn't really "model" data, it just works on it in the background. Is there a semantic place for this kind of thing?

0 投票
1 回答
816 浏览

asp.net-mvc - 我应该将 EF 实体和数据注释放在 asp.net mvc + 实体框架项目中的哪个位置

所以我有一个由 EntityFramework4 为我的 sqlexpress08 数据库生成的 DataEntity 类。此数据上下文通过 WCF 数据服务/Odata 公开给 silverlight 和 win forms 客户端。

数据实体 + edmx 文件(由 EF4 生成)是否应该放在单独的类库中?

这里的问题是我会为一些实体指定数据注释,然后其中一些需要特定的 MVC 属性(如 CompareAttribute),因此类库也将引用 mvc dll。也恰好有实体用户将被封装或包装到网站中的 IIdentity 中。所以它与mvc网站非常相关。或者它应该放在 mvc 项目本身的 Base 文件夹中吗?

大多数网站是围绕数据库驱动的数据,例如批准用户、更改全局设置等。真正的业务发生在 silverlight 和 win forms 应用程序中。

我将 mvc3 rc2 与 Razor 一起使用。
谢谢

0 投票
2 回答
265 浏览

c# - 基本应用程序组织 + 发布 (.NET 4.0)

我试图找出让我的程序井井有条的最佳方法。目前我在一个项目文件中有许多类文件,但其中一些类做的事情非常不同,还有一些我想在未来向其他应用程序公开。我必须组织我的应用程序的一种想法是创建多个项目文件,其中一个“主”项目将根据需要与所有其他项目及其相关类进行交互。这有意义吗?

我想知道是否有人对在一个解决方案中使用多个项目文件有任何建议(以及如何创建这样的东西?),以及在一个解决方案中拥有多个命名空间是否有意义......

干杯----在下面编辑----

对不起,我的错。目前我的程序都在一个控制台项目中。在这个项目中,我有几个类,其中一些基本上启动一个 BackgroundWorker 并运行一个无限循环来提取数据。BackgroundWorker 然后根据需要将此数据传递回主要业务逻辑。我希望将此数据拉取材料(包括后台工作人员材料)分离到一个项目文件中,并将其余业务逻辑分离到另一个项目文件中。项目将不得不在彼此之间传递对象(数据到主要业务逻辑,业务逻辑将启动参数传递给 dataPull 项目)......希望这会增加更多细节。

0 投票
2 回答
772 浏览

python - 组织大量 python 导入

我的代码中大约 25% 依赖于模块:Traits、tvtk 等,这些模块导入起来非常繁重。在我的机器上通常需要 2 秒钟(在其他机器上需要更多时间)。

我的模块组织如下

其中,submodule1 和 submodule2 使用 Traits。这意味着 75% 的情况下,如果我调用import mainmodule,我将不得不等待重模块被导入,但随后它们将不会被使用。

如何组织导入以缩短导入时间?

也许有一种方法可以做类似的事情:

并且有

并且只调用:

拥有一切

0 投票
1 回答
196 浏览

ruby-on-rails - 我应该如何为具有相同操作的不同视图的模型组织控制器?

我有一个用户模型,在我看来,它有两个显示操作:

  • 在用户自己的记录上进行的“表演”(查看他们的私人档案)
  • “表演”表演了其他用户记录(查看他们的公开资料)

我已经想到了几种不同的方式组织和实现这个功能,但我很好奇“Rails 方式”是做什么的。

URL 应该是不同的(domain.com/account 与 domain.com/profile/someuser),这自然导致我希望有多个视图来表示此操作的不同观点。

选项一是创建两个具有不同显示操作和视图的控制器来服务请求。

选项二是将两个动作放在一个控制器中,动作名称本质上是重复的(或强制不重复,例如“show”与“show_public”)。

选项三是使用一个控制器和一个动作,根据一些独特的数据有条件地处理每个请求:调用它的路由,是否填充了 params[:id] 等。

执行此操作的“Rails 方式”是什么?

0 投票
6 回答
50936 浏览

python - Django:“项目”与“应用程序”

我有一个相当复杂的“产品”,准备使用 Django 构建。我将避免在这种情况下使用术语“项目”和“应用程序”,因为我不清楚它们在 Django 中的具体含义。

项目可以有许多应用程序。应用程序可以在许多项目之间共享。美好的。

我没有重新发明博客或论坛——我看不到我的产品的任何部分在任何情况下都可以重复使用。直观地说,我将其称为“应用程序”。然后我是否在一个“应用程序”文件夹中完成所有工作?

如果是这样……就 Django 的project.app命名空间而言,我倾向于使用myproduct.myproduct,但这当然是不允许的(但我正在构建的应用程序是我的项目,我的项目是一个应用程序!)。因此,我相信也许我应该通过为每个“重要”模型构建一个应用程序来接近 Django,但我不知道在我的架构中在哪里绘制边界以将其分成应用程序 - 我有很多具有相对复杂关系的模型。

我希望有一个通用的解决方案...

0 投票
2 回答
356 浏览

apache-flex - 组织一个弹性项目以供团队使用

我是 Flex/Actionscript/FlashBuilder 的新手,我不太了解所有的组织概念。我们的团队项目主要基于 ASP.NET,因此它没有很多 Flex 代码。并没有真正需要组织/重用公共库。我正在添加一个包含大量文件的相当大的组件,并且我想开始为未来的开发人员整理它。

如我所见,.NET 具有:

  • 解决方案文件:指向一堆项目文件。
  • 项目文件:包含实际代码和依赖项。
  • 命名空间:以分层方式组织代码。

在 Flex 中,我想要一个有点像这个例子的层次结构:

  • 汽车代理商
    • 业务层
      • 顾客
      • 员工
    • 用户界面组件
      • 广告
      • 窗口标签
    • 基础设施
      • 工资单
      • 数据库
    • 主权财富基金项目
      • 库存查看器
      • 汽车功能查看器
      • CurrentFlyerViewer

在 .NET 中,我可以有一个 InventoryViewer 项目文件和一个解决方案文件,该文件打开 InventoryViewer 项目文件以及它所依赖的 Infrastructure.Database 项目文件。或者,如果我也不想处理数据库项目,我可以有一个仅指向 InventoryViewer 的解决方案文件,但依赖关系仍然存在。这如何转化为 Flex 代码组织?我很难区分包、项目和普通文件夹层次结构之间的区别。提前致谢。

0 投票
1 回答
64 浏览

mercurial - 将源代码控制中特定的“工具”工件放在哪里?

我有一个用 IDEA 创建的项目。

我用源代码创建了一个 mercurial 存储库,并包含了 IDEA 特定文件(.idea/workspace.xml 和其他文件)但我认为这不是必需的和/或可能会分散人们使用其他工具(如 eclipse、网豆或蚂蚁)

我正在考虑创建一个克隆来放置这些文件,但我想知道这是否是最好的策略。

在源代码管理中将工具特定文件放在哪里?

0 投票
2 回答
810 浏览

ruby-on-rails - Ruby on Rails:如何正确组织 JS 和 CSS 文件?

我想在我的 Rails 3 应用程序中使用SlickGrid插件。我包含几个 JS 和 CSS 文件,我应该将它们包含在我的 HTML 页面中。

可以将所有需要的JS文件放在public/javascripts目录中,将所有CSS文件放在public/stylesheets目录中。但是,我不喜欢这个解决方案,因为它破坏了插件包文件的结构。

我想将所有插件文件放在一个地方(我想vendor/plugins,这是一个更好的地方吗?),并从那里包含所需的文件。那可能吗 ?

集成插件时包含 JS 和 CSS 文件的正确方法是什么?

0 投票
8 回答
71128 浏览

python - 如何组织 Python 项目?

我是 Python 新手,我正在启动一个迷你项目,但我对如何以“Python 方式”组织文件夹有些疑问。

PyDev在我的开发环境中使用,当我创建一个新项目时,会创建一个名为src

现在,在 中PyDev,我可以创建Pydev ModulePyDev Package

我需要按以下方式组织我的项目:

我如何根据模块和包来组织它?模块和包的含义是什么?