小编Fin*_*las的帖子

ASP.NET MVC控制器中的构造函数依赖注入

考虑:

public class HomeController : Controller 
{
    private IDependency dependency;

    public HomeController(IDependency dependency) 
    {
        this.dependency = dependency;
    }
}
Run Code Online (Sandbox Code Playgroud)

事实上,ASP.NET MVC中的控制器必须有一个空的默认构造函数,除了在DI中定义一个空的(在我看来是无用的)构造函数之外还有什么办法吗?

asp.net-mvc dependency-injection

14
推荐指数
2
解决办法
7935
查看次数

编码之后或之前创建UML图表?

我可以清楚地看到使用UML图显示应用程序的基础结构(类名,其成员,它们如何相互通信等)的好处.

我现在正在开始一个新项目并且已经构建了数据库(使用可视范例).我想使用一些设计模式来指导我如何编写类.

我想,我应该在创建它的UML图之前先编码类(可能在代码之外......似乎可能)或者我应该首先创建UML图然后代码(或者从UML生成代码,似乎也可能).

你有什么经历告诉你最好的方法?

oop uml

14
推荐指数
3
解决办法
4721
查看次数

在动态语言中是否需要依赖注入?

为了编写可测试的C#代码,我大量使用DI.

然而,最近我一直在搞乱IronPython并发现你可以模拟任何方法/类/函数等...你喜欢,对DI的需求已经消失.

这是Python等动态联盟的情况吗?

代替:

class Person(Address) {
...
Run Code Online (Sandbox Code Playgroud)

你可以有:

class Person() {
...
    // Address initialised in here.
Run Code Online (Sandbox Code Playgroud)

对于动态语言,因此根据动态联盟的manaual DI,根本不需要.

有什么建议吗?

dependency-injection dynamic-languages

12
推荐指数
2
解决办法
1943
查看次数

为什么或如何将NUnit方法与ICollection <T>一起使用

一些NUnitAssert方法被重载使用ICollection但没有使用ICollection<T>,因此你不能使用它们.

有没有办法解决?哎呀,我做蠢事吗?

我不得不退回使用Assert.AreEqual而不是专门的方法,并使我的测试变得丑陋.

有什么建议?

编辑:

谢谢你的回复.ThatNUnit 的方法看起来很有趣,所以我会在以后再研究它.

Mark正确地提到了这一点,但NUnit Collection Asserts非常出色.我最近在一些新的测试中使用它们,发现它们非常适合使用.

c# nunit unit-testing

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

Python - 测试属性抛出异常

鉴于:

def test_to_check_exception_is_thrown(self):
    # Arrange
    c = Class()
    # Act and Assert
    self.assertRaises(NameError, c.do_something)
Run Code Online (Sandbox Code Playgroud)

如果do_something抛出异常则测试通过.

但是我有一个属性,当我替换时c.do_something,c.name = "Name"我得到一个关于我的测试模块没有被导入的错误,Eclipse突出显示了等号.

如何测试属性会引发异常?

编辑:

setattr并且getattr是新的我.在这种情况下,他们肯定有所帮助,谢谢.

python ironpython unit-testing properties

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

BSD许可 - 如果我是唯一的程序员,我会在组织标签中加入什么?

第三点例如:

  • 未经事先书面
    许可,不得使用组织名称或其贡献者的名称来认可或推广源自本软件的产品.

谢谢你的建议.

licensing

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

如何在Visual Studio中为.exe提供ico图像?

我的应用程序使用.ico图像作为任务栏和窗口,但是如何设置.exe来使用图标?

在这个主题上有没有人有任何关于如何使用ico图像的资源?至于起始栏使用的大小,等等?

从我可以找到的工具那里分配.exe的图标图像,但这肯定不是正确的做事方式.

提前致谢.

.net c# icons visual-studio

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

具有授权的HTTP缓存

根据AuthorizationOAuth规范包含标头的Web服务器的响应,HTTP缓存是否有用?

Request1 Authorization : AUTHTOKEN
Request2 Authorization : ANOTHERAUTOTOKEN
Run Code Online (Sandbox Code Playgroud)

在这种情况下,给定HTTP缓存,第二个请求将返回第一个用户的缓存响应.对于跨用户通用的内容而言,这不是问题,但是对于共享缓存为其他用户提供响应而言,这是错误的.

同样,如果我们使用Vary标头并改变Authorization,这意味着我们的缓存将为每个标记存储一个缓存副本,这肯定会破坏HTTP缓存的目的.浏览器本地缓存(私有)可以正常工作,但这仍然意味着每个会话至少一次来自每个用户的原始请求.

编辑

有问题的服务需要对所有请求进行授权,但是根据我所阅读的内容,除非存在must-revalidate,public和s-maxage,否则不应该从包含授权标头的共享缓存中提供响应.

因此,我的问题是,鉴于API既具有通用性(所有用户的响应相同),又具有用户特定的响应,甚至可以进行缓存?拥有s-maxage和公共标头但是授权标头意味着如果我正确地遵循RFC,缓存将解决UserA对UserB,UserC等的响应.

caching http http-caching

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

文档和版本控制

鉴于我即将开始的项目将产生文件.

这是什么最好的做法?

文件是否应该与代码和资产一起使用,还是应该有单独的文档存储?

编辑

我想要一个维基,但我需要打印文件等......这是一个大学项目.

version-control

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

XNA线段交叉?

假设我们有4个Vector2(是的,这是2d),所以我们有lineOneStart,lineOneEnd,lineTwoStart和lineTwoEnd.

如何检测2条线是否交叉?我不在乎他们在哪里交叉,我只是想知道他们是否相交.

c# math xna

8
推荐指数
1
解决办法
6077
查看次数