小编Ewa*_*ace的帖子

单身人士有什么不好的?

单例模式是一个缴足成员四人帮模式书,但最近似乎而是由开发者世界孤立.我仍然使用相当多的单例,特别是对于工厂类,虽然你必须对多线程问题(实际上是任何类)有点小心,但我不明白为什么它们如此可怕.

Stack Overflow特别假设每个人都同意Singletons是邪恶的.为什么?

请用" 事实,参考或特定专业知识 " 支持您的答案

singleton design-patterns

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

嵌入C#桌面应用程序的最佳脚本语言是什么?

我们正在编写一个复杂的富桌面应用程序,需要提供报表格式的灵活性,因此我们认为我们只需将对象模型公开给脚本语言.时间到了这意味着VBA(这仍然是一个选项),但托管代码衍生品VSTA(我认为)似乎已经枯萎了.

什么是Windows .NET上嵌入式脚本语言的最佳选择?

c# scripting

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

无法提交Subversion

我有一个客户端必须重建他的自动构建服务器.他从我的subversion服务器检出了他的项目文件夹,但现在不再能够提交了 - 他收到了这个错误:

Error: Commit failed (details follow):  
Error: Cannot write to the prototype revision file of transaction
'551-1' because a   
Error: previous representation is currently being written by another
process  
Finished!:   
Run Code Online (Sandbox Code Playgroud)

我搜索过谷歌但是虽然经常报告这个错误但没有明确的解释 - StackOverflow上的任何人都有解决方案吗?

更新:没有其他人提交到该存储库,因此它不是一个事务卡住(至少不是来自另一个用户).最后,我们发现权限设置不正确.不是你会从这条消息中知道它,但这解决了问题.

svn

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

如何保护应用程序免受虚拟机的重复

我们使用标准项目(如硬盘和CPU ID)将我们的软件许可证锁定到物理硬件.我们如何降低客户安装到虚拟机然后克隆虚拟机的风险,绕过我们的许可?

licensing virtual-machine

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

如何在SQL Server中禁用字符串截断错误?

如果我插入或更新一个超过字段大小的字符串,我怎么能告诉SQL Server不要引发错误 - 我想在这个例子中进行静默截断.

sql-server-2000

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

如何在长期存在的Windows窗体应用程序中管理NHibernate会话?

我们正在使用NHibernate来管理复杂的模块化Windows窗体应用程序中的持久性 - 但是一个想法一直困扰着我.我们目前在启动时打开一个会话,并通过该会话打开所有对象.我担心所有加载的对象都被加载到NHibernate会话缓存中,因此它们不能被垃圾收集,最终我们最终将整个数据库放在内存中.

Web应用程序永远不会发生这种情况,因为网页请求(甚至更好的Ajax请求)代表了完美的短期事务,因此可以打开和关闭会话来处理每个请求.

但是,如果我在表单应用程序中加载一个对象树然后放入屏幕上的导航窗格,它们可能会在应用程序的生命周期内保留它们 - 并且在任何时候用户都可以单击它们,导致我们的代码需要将对象关系导航到其他对象(仅在NHibernate会话中工作).

StackOverflow读者如何在没有我描述的问题的情况下保持NHibernate的好处?

nhibernate

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

我在使用Java Mail发送的电子邮件中丢失了一段时间

我正在从Java服务器发送新闻通讯,其中一个超链接到达了一段时间,导致它无用:

Please print your <a href=3D"http://xxxxxxx.xxx.xx.edu=
au//newsletter2/3/InnovExpoInviteVIP.pdf"> VIP invitation</a> for future re=
ference and check the Innovation Expo website <a href=3D"http://xxxxxxx.xx=
xx.xx.edu.au/2008/"> xxxxxxx.xxxx.xx.edu.au</a> for updates.
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,第一个超链接上的edu和au之间的时间段丢失了.

我们已确定邮件正在进行换行,并且包装在此期间拆分行,并且在SMTP电子邮件中启动带有句点的行是违法的:

http://tools.ietf.org/html/rfc2821#section-4.5.2

我的问题是这个 - 我应该使用什么设置来确保包装是周期友好的和/或首先不执行?

更新:经过大量的测试和调试后发现我们的代码很好 - 客户端的Linux服务器附带了一个非常旧的Java版本,而旧的Mail类仍然在其中一个lib文件夹中,并且优先选择我们的.1.2之前的JDK有这个bug.

java email smtp

7
推荐指数
1
解决办法
3602
查看次数

如何处理因实现类而异的静态字段

我一直都遇到这个问题。假设我正在创建命令行界面(Java或C#,问题与我想的相同,我将在此处显示C#)。

  1. 我定义一个接口ICommand
  2. 我创建了一个抽象基类CommandBase,它实现了ICommand,以包含通用代码。
  3. 我创建了几个实现类,每个实现类都扩展了基类(并通过扩展了接口)。

现在-假设接口指定所有命令都实现Name属性和Execute方法...

对于Name,我的每个实例类都必须返回一个字符串,该字符串是该命令的名称。该字符串(“ HELP”,“ PRINT”等)对于相关类是静态的。我希望能够做的是定义:

公共抽象静态常量字符串名称;

但是(很遗憾)您不能在接口中定义静态成员。

我多年来一直在为这个问题而苦苦挣扎(几乎在我拥有类似课程的家庭中任何地方),因此下面将发表我自己的3种可能的解决方案,供您投票。但是,由于它们都不是理想的,我希望有人能发布一个更优雅的解决方案。


更新:

  1. 我无法使代码格式正常工作(Safari / Mac?)。道歉。
  2. 我使用的示例很简单。在现实生活中,有时会有数十个实现类和这种半静态类型的多个字段(即实现类为静态)。

  3. 我忘了提-理想情况下,我希望能够静态查询此信息:

    字符串名称= CommandHelp.Name;

在我提出的3个解决方案中,有2个要求实例化该类,然后才能发现此静态信息,这很丑陋。

c# java

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