小编Dim*_* C.的帖子

HTTP和REST有什么区别?

在阅读了很多关于REST和SOAP之间差异的内容后,我得到的结论是REST只是HTTP的另一个词.有人可以解释REST添加到HTTP的功能吗?

注意:我不是在寻找REST与SOAP的比较.

更新:感谢您的回答.现在我已经清楚地知道REST只是一组关于如何使用HTTP的规则.因此,我发布了关于这些惯例的优点的后续行动.

注意:我现在掌握了REST的含义; 正如Emil Ivanov所说,REST意味着使用HTTP的方式.但是,我不确定这是否值得一个自己的术语,我当然不会围绕它进行炒作.

rest http

272
推荐指数
13
解决办法
15万
查看次数

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

复制构造函数与克隆()

在C#中,向类添加(深层)复制功能的首选方法是什么?是应该实现复制构造函数,还是从派生ICloneable并实现该Clone()方法?

备注:我在括号内写了"深刻",因为我认为这是无关紧要的.显然其他人不同意,所以我问复制构造函数/操作符/函数是否需要明确它实现的副本变体.

c#

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

Web应用程序优于桌面应用程序的优点

在我正在为之工作的公司中,似乎突然间我们所有的应用程序都需要移植到Web应用程序中.据我所知,唯一的原因是网络应用炒作最终污染了我们的一些决策者.

我是桌面应用程序的粉丝,因为它们更加用户友好.在我看来,它们响应更快,具有更好的用户界面,更具可定制性并且具有更好的键盘支持.我只是看不到自己使用的是Visual Studio或OpenOffice的Web版本.此外,我认为瘦客户端桌面应用程序比他们的网络应用程序对应物更容易实现.

也许我忽略了Web应用程序的一些特性,也许我对上面提到的缺点不正确.因此我的问题是:是否有人可以看到Web应用程序优于桌面应用程序的优势?

更新:到目前为止,有一些有趣的回应.但请注意,我不是在讨论瘦客户端应用程序之间的区别,而只是在开发webbrowser平台与桌面平台之间.

更新:通过"Web应用程序"我的意思是组合HTML/CSS/JavaScript,而不是像Silverlight这样的富Internet应用程序.这些与桌面应用程序非常相似,主要区别在于它们在沙箱中运行.

web-applications

77
推荐指数
8
解决办法
6万
查看次数

如何在Chrome中显示"Aw Snap"屏幕时获取更多信息?

我正在尝试在Google Chrome浏览器中查看某个页面,但我收到消息:"噢,Snap!显示此网页时出错了".有没有办法获得有关出错的更多信息?

更新:仅当JavaScript控制台可见时才会显示"Aw,Snap"注释.

debugging google-chrome

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

C++静态初始化顺序

当我在C++中使用静态变量时,我常常想要初始化一个变量,将另一个变量传递给它的构造函数.换句话说,我想创建彼此依赖的静态实例.

在单个.cpp或.h文件中,这不是问题:将按照声明的顺序创建实例.但是,如果要使用另一个编译单元中的实例初始化静态实例,则无法指定顺序.结果是,根据天气,可能会发生构建依赖于另一个实例的实例,并且之后才构建另一个实例.结果是第一个实例初始化不正确.

有谁知道如何确保以正确的顺序创建静态对象?我已经搜索了很长时间寻找解决方案,尝试了所有这些解决方案(包括Schwarz Counter解决方案),但我开始怀疑有一个确实有效.

一种可能性是使用静态函数成员的技巧:

Type& globalObject()
{
    static Type theOneAndOnlyInstance;
    return theOneAndOnlyInstance;
}
Run Code Online (Sandbox Code Playgroud)

实际上,这确实有效.遗憾的是,您必须编写globalObject().MemberFunction()而不是globalObject.MemberFunction(),从而导致一些令人困惑和不雅的客户端代码.

更新:感谢您的反应.遗憾的是,我确实似乎回答了自己的问题.我想我必须学会忍受它......

c++ static-variables initialization-order static-order-fiasco

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

==或.Equals()

为什么用一个而不是另一个?

c#

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

为什么var会变坏?

前几天我和同事聊天,听说他们的编码标准明确禁止他们var在C#中使用关键字.他们不知道为什么会如此,我总是发现隐式声明在编码时非常有用.我从来没有遇到任何问题,找出变量是什么类型(你只是将鼠标悬停在VS中的变量上,你会得到那种方式).

有谁知道为什么在C#中使用var关键字是个坏主意?

c# coding-style implicit-typing

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

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

为什么编译器没有检查C++中的异常?

C++为已检查的异常提供了语法,例如:

void G() throw(Exception);
void f() throw();
Run Code Online (Sandbox Code Playgroud)

但是,Visual C++编译器不检查它们; throw标志被忽略了.在我看来,这使得异常功能无法使用.所以我的问题是:有没有办法让编译器检查异常是否被正确捕获/重新抛出?例如,Visual C++插件或不同的C++编译器.

PS.我希望编译器检查异常是否被正确捕获,否则你最终会遇到必须对每个函数调用进行捕获的情况,即使它们明确声明它们不会抛出任何东西.

更新:当抛出标有throw()的函数时,Visual C++编译器确实显示警告.这很好,但令人遗憾的是,当你调用可能抛出的子程序时,警告不会出现.例如:

void f() throw(int) { throw int(13); }
void h() throw() { g(); } //no warning here!
Run Code Online (Sandbox Code Playgroud)

c++ exception visual-c++

42
推荐指数
5
解决办法
1万
查看次数