小编uri*_*rig的帖子

必须依赖注入以牺牲封装为代价吗?

如果我理解正确,依赖注入的典型机制是通过类的构造函数或通过类的公共属性(成员)注入.

这暴露了注入的依赖性并违反了封装的OOP原则.

我在确定这种权衡时是否正确?你是如何处理这个问题的?

另请参阅下面我对自己问题的回答.

oop encapsulation dependency-injection inversion-of-control

123
推荐指数
7
解决办法
9531
查看次数

JavaScript标准样式无法识别Mocha

我有一个看起来像这样的Mocha测试文件:

var expect = require('chai').expect
var muting = require('../muting')

describe('muting', function () {
  describe('init()', function () {
    it('should inject an object into twitter', function () {
      var twitter = 'twitter'
      muting.init(twitter)
      expect(muting.twitter).to.equal(twitter)
    })
  })
})
Run Code Online (Sandbox Code Playgroud)

当我mocha从CLI运行时,它成功运行测试.

当我运行standard(JavaScript标准样式的可执行文件)时,我在Mocha的框架函数中遇到错误,如下所示:

standard: Use JavaScript Standard Style (https://github.com/feross/standard)   
c:\..\test\index.js:5:0: 'describe' is not defined.  
c:\..\test\index.js:6:2: 'describe' is not defined.  
c:\..\test\index.js:7:4: 'it' is not defined.
Run Code Online (Sandbox Code Playgroud)

什么是使标准不抱怨这些功能最干净的方法?

javascript mocha.js

65
推荐指数
5
解决办法
3万
查看次数

Java枚举和具有私有构造函数的类之间有什么区别?

我试图理解Java枚举是如何工作的,我得出的结论是它与普通的Java类非常相似,它的构造函数被声明为private.

我刚刚得出这个结论,并不是基于太多的想法,但我想知道我是否想念任何东西.

下面是一个简单的Java枚举和一个等效的Java类的实现.

public enum Direction {
    ENUM_UP(0, -1),
    ENUM_DOWN(0, 1),
    ENUM_RIGHT(1, 0),
    ENUM_LEFT(-1, 0);


    private int x;
    private int y;

    private Direction(int x, int y){
        this.x = x;
        this.y = y;
    }
    public int getEnumX(){
        return x;
    }
    public int getEnumY(){
        return y;
    }
}
Run Code Online (Sandbox Code Playgroud)

上面和下面的代码有什么区别?

public class Direction{
    public static final Direction UP = new Direction(0, -1) ;
    public static final Direction DOWN = new Direction(0, 1) ;
    public static final Direction LEFT = new Direction(-1, 0) ; …
Run Code Online (Sandbox Code Playgroud)

java enums enumeration

58
推荐指数
4
解决办法
4万
查看次数

如何在没有界面的情况下模拟一个类?

我正在使用Windows 7中的C#开发.NET 4.0.

我想测试一些使用mock的方法之间的通信.唯一的问题是我想在没有实现接口的情况下这样做.那可能吗?我刚刚阅读了很多关于模拟对象的主题和一些教程,但是它们都用于模拟接口,而不是类.我尝试使用Rhino和Moq框架.

c# tdd mocking

58
推荐指数
7
解决办法
7万
查看次数

Sticky Session/Session Affinity负载消除策略的优缺点?

高可扩展性的一种方法是使用网络负载平衡来分割多个服务器之间的处理负载.

这种方法提出的一个挑战是服务器是状态感知的 - 将用户状态存储在"会话"中.

该问题的一个解决方案是"粘性会话"(又名"会话亲和性"),其中每个用户被分配给单个服务器,并且他/她的状态数据在整个会话期间专门包含在该服务器上.

"粘性会话"方法的优点和缺点是什么?你是否使用它,如果是这样,你对它感到满意吗?

session scalability load-balancing sticky

52
推荐指数
1
解决办法
3万
查看次数

从PowerShell调用exe并获得有关成功或失败的反馈

如何在PowerShell中运行可执行文件并通过if语句确定它是成功还是失败?

更具体地说,我正在尝试让devenv.exe从PowerShell脚本构建解决方案,我需要知道它是成功还是失败.失败了,我的意思是构建失败了,我假设devenv正在向shell发送一些东西(可能在stderr流中?)

我尝试使用&,Invoke-ExpressionInvoke-Item设法让所有这些运行exe.但我无法获得有关成功/失败的反馈.

powershell

46
推荐指数
2
解决办法
4万
查看次数

性能计数器的性能如何?

当考虑使用性能计数器作为我公司的基于.NET的站点时,我想知道使用它们的开销有多大.

我想让我的网站不断更新它的计数器,还是我最好只做我测量的时候?

performance performancecounter

43
推荐指数
4
解决办法
1万
查看次数

jest:测试套件无法运行,SyntaxError:意外的令牌导入

这是我在package.json文件中的jest配置:

"jest": {
    "automock": false,
    "browser": true,
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "./app/tests/mocks/FileMock.js",
      "\\.(css|less)$": "identity-obj-proxy"
    },
    "moduleFileExtensions": [
      "js",
      "jsx"
    ],
    "moduleDirectories": [
      "node_modules"
    ],
    "transform": {
      "^.+\\.jsx?$": "./node_modules/babel-jest",
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "./app/tests/mocks/FileTransformer.js"
    },
    "testEnvironment": "jsdom",
    "testPathDirs": [
      "./app/tests"
    ],
    "testRegex": ".*.test.js",
    "verbose": true
  }
Run Code Online (Sandbox Code Playgroud)

和.babelrc文件位于我的根文件夹中:

{
  "plugins": ["syntax-dynamic-import", "transform-runtime"],
  "presets": [
    [
      "es2015",
      {
        "modules": false
      }
    ],
    "react",
    "stage-0"
  ],
  "env": {
    "start": {
      "presets": [
        "react-hmre"
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

根据在开玩笑的入门页面上找到的文档,这是我需要让babel工作的所有东西.

无论如何,这个测试:

import React from 'react';
import …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs babeljs

43
推荐指数
4
解决办法
5万
查看次数

在Swashbuckle中启用持票人令牌(Swagger文档)

我创建了一个使用个人帐户安全的asp.net webapi应用程序,以便默认启用Bearer令牌.它工作正常,所以我能够在Postman中测试它们没有问题.

当我尝试通过Swashbuckle集成Swagger UI时,问题就出现了.我通过以下方式安装了Swashbuckle:

Install-Package Swashbuckle

然后更改SwaggerConfig.cs:

GlobalConfiguration.Configuration
    .EnableSwagger(c =>
    {
        c.ApiKey("Token")
            .Description("Filling bearer token here")
            .Name("Authorization")
            .In("header");
    }
    .EnableSwaggerUi(c =>
    {
        c.EnableApiKeySupport("Authorization", "header");
    };
Run Code Online (Sandbox Code Playgroud)

启动我的应用程序并填写Bearer令牌:

在此输入图像描述

但是当我运行需要授权的api请求时,它不起作用.这是截图:

在此输入图像描述

承载令牌被添加到标头中的Authorization.但我仍然得到错误401.我想知道是否因为令牌被编码(SPACE被%20取代)?任何的想法?谢谢.

顺便说一句,我想知道如何在我的Swagger文档中添加/ token,以便我可以在Swagger UI中获取令牌.

swagger swagger-ui swashbuckle

31
推荐指数
4
解决办法
2万
查看次数

Scrum - 您何时估算产品待办事项的工作量?

您的团队在Scrum流程的哪一部分对完成给定产品积压项目所需的工作量进行了有根据的估算?

例如,假设您有一个产品积压项目,其中显示"用户将能够提供他们的电子邮件地址并收到一封电子邮件,其中包含重置密码的链接",计划用于Sprint 1.

您是否以非常粗略的估计开始冲刺并进行优化?这个"用户故事"什么时候变成了程序员可以及时估计的粒状动作项?(例如:"使用一个文本框和提交按钮构建Web表单"= 2小时)

在冲刺开始之前,您是否进行了更精细,更准确的估算?冲刺开始时?或者在sprint期间,只要设计师/程序员最终碰到任务?

scrum

30
推荐指数
2
解决办法
2万
查看次数