问题可能很棘手(因为它的性质或我描述它的方式),所以在回答之前真的要读这个.
我有这个应用程序写:
a)桌面应用程序;
b)没有数据库,文件或任何其他存储库意义上的数据层(无需保存,存储或加载数据);
c)app将实现一些计算算法(遗传算法);
b)提供GUI,显示对app和计算结果的控制.
我正在考虑使用MVC模式,但我怀疑如何使用它.由于我没有(例如)数据库意义上的数据层(基于用户输入在执行期间生成数据),我担心在此实现中使用MVC的方式.到目前为止,我提出了两种方法:
GUI是View.GeneticAlgorithm是Controller.GeneticAlgorithmResults是Model(作为只存储数据的类).基本流程:
GUI是View.AppEngine是控制器.GeneticAlgorithm和GeneticAlgorithmResults是模型.现在我们有:
第一种方法似乎更直接,更像MVC.问题是某些逻辑必须在模型中 - 决定何时通知模型,因为不会显示所有数据更新,或者显示将使用数据集更新,而不是每次更改.这些决定将基于用户输入.在实际显示之前,可能需要对数据进行一些额外的处理.这将在视图中.
另一方面,第二种方法似乎更复杂,看起来传递了很多消息来完成任务.但它完全控制了Controller的逻辑控制,并分离了View,Controller和Model(这是MVC的主要目的)的职责.
你会推荐哪种方法?或者也许我应该混合它们并使用第一种方法架构与第二种方法的通信流程?还是一些不同的设计?
我一直在考虑让我的计算机更加环保,并在我的下一台计算机上使用一些低功耗的迷你itx主板.有些可以产生10瓦以下且非常便宜.
所以我想,如果一个是如此低成本和低功耗,为什么不尝试从他们中创建一个集群?但是,我不确定在操作系统或管理软件方面需要做些什么来实现这一目标?
任何人都可以提供有关现有软件的建议,或者有关如何设计我自己的想法吗?
有没有人知道网上或书上的任何好资源哪里可以找到维特比解码器的解释或如何使用格子图解码接收的比特序列的教程?
谢谢!
我正在尝试使用ADO一次创建几个表到MS Access.是否可以在一次操作中执行多个语句?例如:
...
// I have omitted the field details
CString sQuery = "CREATE TABLE [Table1] (..., PRIMARY KEY ([ID])); \nCREATE TABLE [Table2] (..., PRIMARY KEY ([ID]));";
oRecordset.Open(oDatabase.m_pConnection, sQuery)
Run Code Online (Sandbox Code Playgroud)
这由于a而失败"Syntax Error in CREATE TABLE statement",尽管每个create语句都完美地工作.有没有办法做这种事情?还会有语句添加约束,添加索引等,我真的希望能够这样做,这样我就不必将字符串拆分成单独的部分.
我需要调用一些半可靠的Java代码,并希望禁用在代码执行期间使用反射的功能.
try{
// disable reflection somehow
someObject.method();
}
finally{
// enable reflection again
}
Run Code Online (Sandbox Code Playgroud)
可以使用SecurityManager来完成,如果是这样,怎么做?
澄清/上下文:这是关于限制可以从JavaScript/Rhino调用的包的另一个问题的后续行动.接受的答案引用了关于如何做到这一点的博客条目,它需要两个步骤,第一个使用Rhino API(ClassShutter),第二个使用关闭反射和Class.forName().我想我可以使用SecurityManager更干净地完成第二步(了解SecurityManager,正如已经指出的那样,沿途是一个复杂的野兽).
总而言之,我希望(从代码,而不是设置文件)关闭Class.forName()以及对整个反射包的任何访问.
编辑:将错误的部分功能复制到这个问题中,下面是合适的.
$values = mysql_query("SELECT lname, fname, email, dtelephone, etelephone, contactwhen, thursday,
friday, saturday, sunday, monday, comments FROM volunteers_2009 WHERE venue_id = $venue_id");
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= $rowr[$j].", ";
}
$csv_output .= "\n";
}
Run Code Online (Sandbox Code Playgroud)
我有评论可能有逗号,甚至双引号,当它在注释字段中有逗号时,它会抛出整个csv文件.
下面的代码是如何将数据加载到csv字符串中,放入csv文件中.
如何让它正确导出注释字段数据?
在Objective C中,如果你是子类的东西,并且计划覆盖超类的方法,你应该在你的子类@interface中重新声明超类方法吗?
例如,如果您是UIViewController的子类(例如MyViewController),并且您计划覆盖"viewDidLoad",您是否应该在MyViewController @interface声明中包含该方法,或者只是在MyViewController.m中实现它?
在我遇到的例子中,我已经看到它完成了两种方式(在子类接口中重新声明方法,或者不重新声明方法).可能没有任何功能差异,但最佳做法是什么?
我正在使用mod_wsgi,并想知道是否有可能覆盖print()命令(因为它没用).
这样做不起作用:
print = myPrintFunction
Run Code Online (Sandbox Code Playgroud)
因为它是语法错误.:(
当我想触发来自PHP4背景的PHP中的错误时,我曾经使用过它。注意我有自己的能力set_error_handler()来处理这些错误。
if ($error) {
trigger_error('Sorry, error has occured');
}
Run Code Online (Sandbox Code Playgroud)
我不记得在哪里,但是前段时间有人告诉我我应该“使用例外”。由于我要分解许多旧代码,因此我认为现在是时候就我的错误处理实现获得一些好的建议了。
既然我正在使用PHP5(并且比编写旧代码时要聪明一些),那是我trigger_error()做事的一种旧方法,如果这样,处理PHP5中错误的最佳方法是什么?
php ×2
sql ×2
architecture ×1
csv ×1
decoding ×1
encoding ×1
java ×1
latex ×1
mod-wsgi ×1
ms-access ×1
mysql ×1
objective-c ×1
overriding ×1
python ×1
python-3.x ×1
reflection ×1
sandbox ×1
security ×1
subclass ×1
typeset ×1
viterbi ×1
wsgi ×1