使用Java和Java框架当我遇到抽象工厂模式时,我已经开始颤抖了.在我看来,这是最滥用的设计模式.并非所有框架都滥用它,但有很多框架滥用它.它不适合所有模型,几乎100%的时间你都会做同样的事情为什么抽象它?
您认为哪种设计模式是最滥用的设计模式?一个开发人员使用它但它不能很好地适应问题的地方.一个金锤子和一切看起来像钉子的情况.那么,当你在野外遇到它时,哪种设计模式会让你不寒而栗?
编辑:想到了Singleton.但是在最过度使用的问题上出现了这种情况.我要求最受虐待的人.(或者使用不当).
有人可以向我解释每个SunSpider子测试实际检查的内容,并给出真实等效的重要性和用途吗?哪种结果(即时间)被认为是现代系统可接受的?
到目前为止,我发现的唯一信息是每个小节的通用信息,在Coding Horror.
3d 纯JavaScript计算,可用于进行3d渲染,但不进行渲染.这最终主要是击中浮点数学和数组访问.
访问 数组,对象属性和变量访问.
bitops 按位运算,这些可用于各种事物,包括游戏,数学计算和各种编码/解码.它也是JavaScript中唯一一种以整数而非浮点形式完成的数学运算.
controlflow 控制流构造(循环,递归,条件).现在它主要涵盖递归,因为其他测试很好地涵盖了其他测试.
crypto Real加密代码,主要包括按位运算和字符串运算.
date JavaScript的"日期"对象的性能.
数学 各种数学类型的计算.
regexp 正则表达式.非常不言自明.
string 字符串处理,包括生成巨型"tagcloud"的代码,提取压缩的JS代码等.
但是每个小节的个别测试呢?
例如,"访问"子部分有4个测试(binary-trees, fannkuch, nbody, nsieve).在使用JavaScript的真实Web应用程序中,每个计算什么以及为什么/何时应该是重要的?
我在Windows上克隆了一个git存储库,注意到行结尾设置为UNIX样式(LF).
为了解决这个问题,我将存储库的autocrlf值更改为true(core.autocrlf=true).
但是,我在磁盘上的所有签出文件仍然具有UNIX样式(LF)行返回.我该如何解决这些问题?
对于一篇论文,我正在寻找一个使用volatile变量的真实 C函数.这本身并不难找,但我正在寻找一个函数,其中volatile函数的值必须在函数执行过程中改变,以便达到函数的特定分支.像这样的东西:
typedef struct {
unsigned :6;
unsigned FLAG1 :1;
unsigned FLAG2 :1;
} __attribute__ ((packed)) REGISTER;
volatile REGISTER * io_ = 0x1234;
int write_to_io()
{
while (io_->FLAG1) {};
//io_->FLAG1 is now 0
io_->FLAG2 = 1;
sleep(10);
if (io->FLAG1)
return 1; //io->FLAG1 has changed from 0 to 1
else
return 0; //io->FLAG1 has not changed
}
Run Code Online (Sandbox Code Playgroud)
如果在执行函数期间结构的不同位改变就足够了,但我的主要标准是,对于要到达的某个分支,易失性变量的值在执行函数期间改变.
我会非常感谢任何现实生活中的例子.我无法在网上找到很多使用volatile的例子.
我们有一个winforms应用程序,通过clickonce部署到用户并使用自动更新功能.
我们注意到,对于我们的用户,在发生clickonce更新后,应用程序需要几分钟才能显示.应用程序可执行文件在此期间运行,CPU使用率相当高,但不显示任何窗口.
这在开发人员的机器上是不可重现的.用户和开发者的机器之间有两个主要区别:
应用程序的冷启动性能在更新后运行一次后几乎是即时的.
以下链接适用于msdn论坛上有相同问题的人,但没有发布解决方案:http: //social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/5ec061c4-ec6f-4101- 98a6-dc8bb5acab60
由于开发人员无法在本地重现,我们还没有分析应用程序在此期间正在执行的操作.
有关为什么会出现这种情况的任何想法或有关如何解决问题的建议?
谢谢.
编辑08/24/2009:创建了一个运行XP的32位虚拟机,并将其加入与用户相同的域中.该问题未在虚拟机中显示.这似乎消除了XP和域成员身份作为问题的根源.这似乎使VLAN,系统配置和补丁级别成为潜在的罪魁祸首.
我们都知道MetaProgramming是一个代码概念==数据(或编写程序的程序).
但是有没有使用它的应用程序以及使用它的优点是什么?
这个问题可以关闭,但我没有看到任何相关的问题.
这是我的第一个stackoverflow问题,所以尽量做好.;-D
我的问题是,我正在重构一些现有的javascript代码并使用jQuery来完成它.在几个地方,我遇到类似于以下的javascript代码:
// some js code working with the customAttribute value
javascriptElementObject.customAttribue = void(0);
Run Code Online (Sandbox Code Playgroud)
javascriptElementObject现在是一个jQuery对象,我一直在尝试使用以下代码执行相同的操作:
// some js code working with the customAttribute value
javascriptElementObject.attr("customAttribute", void(0));
Run Code Online (Sandbox Code Playgroud)
但是,这似乎没有做任何事情.但是,以下代码有效:
javascriptElementObject.get(0).customAttribute = void(0);
Run Code Online (Sandbox Code Playgroud)
我知道jQuery的removeAttr()函数,但到目前为止还没有使用它,因为我不知道它是否等同于将属性值设置为void(0).
所以我想这真的意味着我有两个问题:
谢谢.
所以我有一个xml文件,其中包含以下简化的xml文件内容:
<CollectionItems>
<CollectionItem>
<Element1>Value1</Element1>
<Element2>
<SubElement1>SubValue1</SubElement1>
<SubElement2>SubValue2</SubElement2>
<SubElement3>SubValue3</SubElement3>
</Element2>
<Element3>Value3</Element3>
</CollectionItem>
<CollectionItem>
<Element1>Value1</Element1>
<Element2>
<SubElement1>SubValue1</SubElement1>
<SubElement2 />
<SubElement3>SubValue3</SubElement3>
</Element2>
<Element3>Value3</Element3>
</CollectionItem>
<CollectionItem>
<Element1>Value1</Element1>
<Element2>
<SubElement1>SubValue1</SubElement1>
<SubElement2>SubValue2</SubElement2>
<SubElement3>SubValue3</SubElement3>
</Element2>
<Element3>Value3</Element3>
</CollectionItem>
</CollectionItems>
Run Code Online (Sandbox Code Playgroud)
我试图在.Net中编写一个正则表达式,它匹配SubElement2为空的任何CollectionItem(本例中为CollectionItem).
到目前为止,我有以下正则表达式(启用SingleLine模式):
<CollectionItem>.+?<SubElement2 />.+?</CollectionItem>
Run Code Online (Sandbox Code Playgroud)
问题是它通过第二个CollectionItem的关闭匹配第一个CollectionItem的开头.我明白为什么会这样做,但我不知道如何修改正则表达式使它只匹配中心CollectionItem.
编辑:至于为什么正则表达式与其他东西相反:
谢谢!
javascript ×2
.net ×1
attributes ×1
benchmarking ×1
c ×1
c# ×1
clickonce ×1
git ×1
jquery ×1
line-endings ×1
msysgit ×1
regex ×1
volatile ×1
winforms ×1
xml ×1