标签: project-structure

在一个文件中编写整个Flask应用程序是不好的做法吗?

我目前正在使用Flask Web框架在Python中编写Web应用程序.我真的习惯于把所有东西放在一个文件中,不像我看到的其他项目,它们有不同的类,视图和东西目录.但是,Flask示例只是将所有内容都放入一个文件中,这就是我的目标.

在单个文件中编写整个Web应用程序是否存在任何风险或问题,或者更好地将我的函数和类分散到单独的文件中?

python standards coding-style project-structure flask

11
推荐指数
1
解决办法
2622
查看次数

使用ASP.NET MVC 4的不同项目中的区域

我正在使用ASP.NET MVC 4,并尝试在不同的项目中使用区域.

我一直在检查这个线程,我们预计ASP.NET MVC2之后不同项目中的区域不支持状态:

在asp.net mvc中,作为单个项目实施的区域与多个项目的优缺点是什么?

任何人都知道它是否真的不再受支持了?

任何人都可以帮我看一下使用ASP.NET MVC 4时是否有一种在分离项目中有区域的常用方法?

我发现这个可能有帮助的其他线程,但正在寻找一种更常见的方式:

ASP.NET MVC 4单独项目中的区域不起作用(查看未找到)

谢谢!

project-structure areas asp.net-mvc-4

11
推荐指数
1
解决办法
9993
查看次数

Android Studio:"新模块 - >导入现有项目"与"导入模块"

是)我有的:

四个独立工作的Android模块:

  1. MyProjectMainModule,一个主要的容器应用程序,附加到 MyProject

  2. MyGradleModule,一个库,在gradlew过程中构建所有必要的组件.

  3. MyPreGradleModule,一库,src/,res/,AndroidManifest.xml,和pom.xml,没有gradle这个包装

  4. MyRawModule,一库,src/,res/,AndroidManifest.xml,无pom.xml(常见于基于Ant的Eclipse项目)

我想要实现的目标:

所有三个模块(即导入MyGradleModule,MyPreGradleModule,MyRawModule)成MyProject作为依赖MyProject.完整的项目结构应该类似于项目结构:

MyProject
|--MyProjectMainModule
|--MyGradleModule
|--MyPreGradleModule
|--MyRawModule
Run Code Online (Sandbox Code Playgroud)

题:

实现所有三个模块(MyGradleModule,MyPreGradleModuleMyRawModule)具有不同的结构,以最小的努力导入每个模块的最佳方法是什么?

您能否将以下Android Studio菜单项之一与答案中的每个模块匹配(如果您使用任何模块):

  1. File - > Import Module...
  2. File- > New Module...- >Import Existing Project
  3. File- > New Module...- >Android Library

android module project-structure android-studio android-gradle-plugin

11
推荐指数
3
解决办法
6万
查看次数

什么项目层应该筛选DTO的生活?

我有一个项目,我们使用屏幕DTO来封装服务层表示层之间的数据.在我们的例子中,表示层是ASP.Net.

唯一知道DTO的类是服务层类和调用这些服务并显示DTO的Pages/Controls.

DTO几乎总是特定于页面/控件,因此我觉得它们属于表示层,但这意味着服务层必须引用表示层才能使用DTO.

我几乎认为服务层应该返回更丰富的对象(但不是域实体?)然后表示层可以获取这些对象并将它们映射到每个页面/控件关注点的非常特定的DTO.

这是一个界面声明和一个DTO,所以你可以看到我在说什么:

public interface IBlogTasks
{
    BlogPostDisplayDTO GetBlogEntryByTitleAndDate(int year, int month, string urlFriendlyTitle);
}

public class BlogPostDisplayDTO 
{
    public string Title { get; set; }
    public DateTime PostDate { get; set; }
    public string HtmlContent { get; set; }
    public string ImageUrl { get; set; }        
    public string Author { get; set; }
    public int CommentCount { get; set; }
    public string Permalink { get; set; }
}   
Run Code Online (Sandbox Code Playgroud)

编辑

这是另一个代码示例,用于描述不涉及Domain模型的用例.也许这会澄清一些事情.我相信我已经超载了DTO的含义.我不是在谈论DTO在线上传输物体的功能.我正在创建DTO以正式化与我的服务层之间的通信合同.

public interface IAuthenticationTasks …
Run Code Online (Sandbox Code Playgroud)

asp.net project-structure dto n-tier-architecture

10
推荐指数
1
解决办法
4603
查看次数

接口是否应该与实现它们的具体类一样存在于同一命名空间中?

关于接口和实现它们的类,如何组织解决方案/项目的标准?我正在研究一个MVP,DDD应用程序,并希望听到关于其他人如何布置他们的项目以及他们为什么这样做的反馈.谢谢!!

.net mvp domain-driven-design project-structure

10
推荐指数
1
解决办法
2235
查看次数

如何使用gradle将依赖项正确添加到另一个项目?

您好,我是新来的gradle,这让我有些困惑。如何在我的gradle配置中添加依赖项以访问projectA1中的B1.java?项目B是gradle项目,而项目A只是另一个gradle项目的文件夹。

这是我的结构:

  1. 工作空间:
    • 项目A
      • projectA1
        • ...
        • 在这里我想访问B1.java
        • build.gradle
      • projectA2
        • ...
        • build.gradle
    • 项目B
      • 项目B1
        • B1.java
        • ...
        • build.gradle
      • projectB2
        • ...
        • build.gradle
      • build.gradle

我试图阅读gradle文档,但对我来说还不清楚。任何帮助表示赞赏。谢谢!

java dependencies project-structure gradle build.gradle

10
推荐指数
2
解决办法
4939
查看次数

Maven:在项目B中使用项目A的特定测试类

我有项目A和B,其中B需要A.内部项目AI有一个实用程序类UC,只能用于JUnit测试,因此,它位于src/test/java项目A中.只要我在AI中编写测试就可以访问UC.但是,如果我运行Maven并希望它在B中执行测试,我会收到编译器错误,因为在B中无法访问UC.

显然,当Eclipse编译某些东西时,Eclipse包括所有源文件夹中的所有类(即,当我在B中编写测试时,它知道UC),而Maven删除了A的最终版本中的所有测试类.

我的问题是:当我使用Maven运行测试时,我需要做什么才能在B中访问UC?

请理解我是Maven的新手,我认为已经提出了类似的问题.但是,我无法将那里写的内容转换成我的问题并修复它.

我希望我很清楚我正在做什么......

junit dependencies project-structure maven

9
推荐指数
1
解决办法
4369
查看次数

什么是Python开源项目的正常结构,以及运行测试的首选方式是什么?

我写了一些我想分享的代码,我想遵循创建/维护它的结构的最佳实践.我将在BitBucket上托管代码,现在我正在考虑如何组织它.这是一个很好的结构吗?

project_name/
    lib/
    test/
    README
Run Code Online (Sandbox Code Playgroud)

所以,这将有lib中的源代码和测试中的测试.这是在Python项目中完成的吗?这是我看到的最常用于Ruby项目的结构.另外,当我运行单元测试时,这样做是不错的做法:

set PYTHONPATH=`pwd`/lib
python test/a_test.py
Run Code Online (Sandbox Code Playgroud)

python open-source unit-testing project-structure

9
推荐指数
1
解决办法
562
查看次数

使用Dart和Bootstrap

我正在尝试使用Dart,现在我正在尝试使用Bootstrap作为其CSS框架.当我下载最新版本的Bootstrap(目前为3.0.3)时,它具有以下文件结构:

??? css
?   ??? bootstrap.css
?   ??? bootstrap.min.css
?   ??? bootstrap-theme.css
?   ??? bootstrap-theme.min.css
??? fonts
?   ??? glyphicons-halflings-regular.eot
?   ??? glyphicons-halflings-regular.svg
?   ??? glyphicons-halflings-regular.ttf
?   ??? glyphicons-halflings-regular.woff
??? js
    ??? bootstrap.js
    ??? bootstrap.min.js
Run Code Online (Sandbox Code Playgroud)

(1)我在哪里放置所有这些文件,以及如何从我的Dart源和HTML文件中访问它们?例如,假设我想从Dart文件中动态更改DOM,并将一个Bootstrap类添加到元素中 - 这会是什么样的?如果我只是想给一个HTML元素一个Bootstrap类(在.html文件中),那会是什么样子?

认为我可能需要使用的封装结构的飞镖项目的东西是这样的:

MyDartApp/
    web/
        myapp.dart
    asset/
        bootstrap/
            css/
                bootstrap.css
                bootstrap.min.css
                bootstrap-theme.css
                bootstrap-them.min.css
            fonts/
                glyphicons-halflings-regular.eot
                glyphicons-halflings-regular.svg
                glyphicons-halflings-regular.ttf
                glyphicons-halflings-regular.woff
            js/
                bootstrap.js
                bootstrap.min.js
Run Code Online (Sandbox Code Playgroud)

但是对于Dart和Bootstrap都有这么少的经验,不确定我是否遗漏了大量的东西.显然,我需要打包Bootstrap文件,使得asset/我的Dart/HTML文件中的URL可以在运行之前/之后访问它们pub build.

(2)另外,我可以只使用min每个CSS/JS文件的-version(bootstrap.min.js而不是bootstrap.js等)吗?

project-structure twitter-bootstrap dart

9
推荐指数
1
解决办法
3940
查看次数

带有 API 和后台工作人员的微服务命名约定(MessageBus/ScheduledTasks)

扩展这个现有问题微服务:工作者角色、API 或两者兼而有之?

我见过将微服务实现为工作者角色处理队列外请求和/或 API (REST) 的混合示例。

支持异步场景,可以使用队列,通过一个简单的哑队列监听器将请求转发到微服务 REST API,而同步场景将直接调用 REST API。

我认为微服务这个术语的定义很模糊;人们是否将它们视为 API(例如 RESTful 服务)或任何抽象服务处理请求,但提供了该请求?

我们将使用什么命名约定来区分作为 API 运行的服务,或作为后台工作线程运行的服务(从消息队列中提取或每隔一段时间运行任务)?

区分这一点很重要,以便明确意图,因为 Web 应用程序的托管技术允许多个工作线程并行扩展,而我们可能希望在任何时间运行单个工作线程来执行预定的维护任务。

更多信息如下。

预定的后台工作者或 ServiceProxy

在某些情况下,我们可能会代理调度的后台工作人员来调用服务,即:

  1. 运行工人
  2. 不关机时出队
  3. 发布到服务 -> https://myservice.example.com/assets/123?uptime=100&cpu=54

我们怎么称呼这样的ServiceProxy后台工作人员?我想如果我们担心并发问题和多个这些后台工作人员并行运行,那么这可以在调用服务本身时解决。

客户端库

我建议使用一个客户端库来包含:

  1. 调用服务获取信息的方法
  2. 发布到服务的方法(通过网络服务,在函数内透明处理)
  3. 发布到服务的方法(通过消息总线,在函数内透明处理)

对于上面的第 2 点和第 3 点,除了有关如何发送数据的详细信息的函数名称之外,没有其他指示,即RegisterEndPoint(Guid id, string name)在内部使用标准的 WebAPI 调用和SendUpdate(Guid id, HealthPoco stats)使用消息总线……客户端将使用该库而不用担心细节。

项目结构

到目前为止,我有一个项目结构:

  1. ExampleSolution.Assets.Service - 对于 WebAPI 或 gRPC 服务,其中多个可以并行运行
  2. ExampleSolution.Assets.ServiceProxy - 这是一个后台工作者,通常我们想要一个运行
  3. ExampleSolution.Assets.Client - 这是允许与服务通信的客户端库
  4. ExampleSolution.Assets.Common - 相关的公共信息,如数据合同
  5. ExampleSolution.EndPoint.CoreAgentApp - 在 Windows 或 …

projects-and-solutions directory-structure naming-conventions project-structure microservices

9
推荐指数
0
解决办法
4670
查看次数