我在一家提供定制"CRM"软件的公司工作.我们目前正在重新设计/重新开发该软件,希望它看起来更现代,更容易为未来的客户开发和定制.目前,定制每个新应用程序需要很长时间.
可以假设它花费这么长时间的原因是因为"视图"层中存在的业务逻辑量.在某种程度上,我可以保证这是真的,但症状并不总能可靠地指出原因.有一个建议是,如果我们只是将业务逻辑移动到控制器层并使用纯视图(我们使用java J2EE和struts),就像实现struts标签而不是调用bean层并在jsp上迭代对象 - 等等.
在我开始提倡我们继续前进之前,我想要了解其他人的想法.MVC的"纯粹"实现(特别强调解耦控制器和视图)是否提供了更清晰,更易于开发和更改的代码库?
感谢大家的投入 - 这有很多帮助
有些文章总结"永远不会从析构函数中抛出异常",而"std :: uncaught_exception()没有用",例如:
但似乎我没有明白这一点.所以我写了一个小测试示例(见下文).
由于测试示例一切正常,我非常感谢有关它可能出错的一些评论?
测试结果:
./主要
Foo::~Foo(): caught exception - but have pending exception - ignoring
int main(int, char**): caught exception: from int Foo::bar(int)
./main 1
Foo::~Foo(): caught exception - but *no* exception is pending - rethrowing
int main(int, char**): caught exception: from Foo::~Foo()
例:
// file main.cpp
// build with e.g. "make main"
// tested successfully on Ubuntu-Karmic with g++ v4.4.1
#include <iostream>
class Foo {
public:
int bar(int i) {
if (0 == i) …Run Code Online (Sandbox Code Playgroud) 我处于一种情况,我需要从基于选项卡的应用程序开始,并且我需要一个或多个选项卡的拆分视图.但似乎拆分视图控制器对象无法添加到tabbarController中.(虽然tabbar对象可以添加到splitviewcontroller).
问题还可以看出:我在左侧部分有一个完整的屏幕我有一个表视图,当在表中选择任何行时,弹出框应该指向该行.现在,当弹出窗口中的任何行被选中时,此弹出窗口中的行将位于所选行的左下方(仅此行可见),而另一个弹出窗口将从所选行中出现.(面包屑导航类型)
我想我清楚地解释了什么.那么有任何想法或解决方法吗?
如果我不清楚我的问题,请告诉我.
谢谢,
Madhup
uitabbarcontroller ipad uisplitviewcontroller iphone-sdk-3.2 uipopovercontroller
我想从应用程序中执行正在运行的silverlight 3应用程序的屏幕截图,然后我想将其作为缩略图呈现给用户,比如在Image控件中.
我在做梦吗?
为什么我们使用像com.something这样的反向域名.或者org.something.java包的结构?我知道这会带来某种独特性,但为什么我们需要这种独特性呢?
通过使用VS TFS Database Edition 2008,如何从现有的SQL SERVER数据库创建dbproject?
考虑两个日期2010-03-18 22:30:45和2010-03-19 03:30:15....如何获取sql server中两个日期之间的小时数和分钟数.....
可以任意扩展Clojure结构,添加新字段.
是否可以以类似的方式扩展类型(使用deftype创建)?
编辑:对于未来访客的好处,正如布莱恩在下面指出的,这个功能可能会有所变化.
我正在尝试学习如何在mxml上使用actionscript来提高灵活性.我有这个简单的mxml块,我正在尝试转换为actionscript,但是我被困在了一半
<s:Rect id="theRect" x="0" y="50" width="15%" height="15%">
<s:fill>
<s:SolidColor color="black" alpha="0.9" />
</s:fill>
</s:Rect>
Run Code Online (Sandbox Code Playgroud)
我可以将Rect没有问题转换为
private var theRect:Rect = new Rect();
theRect.x = 0;
theRect.y = 50;
theRect.width = "15%";
theRect.height = "15%";
Run Code Online (Sandbox Code Playgroud)
然后我就陷入了困境.在尽可能少的代码行中添加SolidColor的最有效方法是什么.
我一直在阅读类似问题的答案,但我仍然有点困惑......亚伯有一个很好的答案,但这是我不确定的部分:
...声明变量volatile会使每次访问都变得不稳定.不可能以任何其他方式强制执行此行为,因此不能用Interlocked替换volatile.在其他库,接口或硬件可以访问您的变量并随时更新它或需要最新版本的情况下,需要这样做.
是否Interlocked保证对所有线程的原子操作的可见性,或者我是否仍然必须volatile在值上使用关键字以保证对更改的可见性?
这是我的例子:
volatile int value = 100000; // <-- do I need the volitile keyword
// ....
public void AnotherThreadMethod()
{
while(Interlocked.Decrement(ref value)>0)
{
// do something
}
}
public void AThreadMethod()
{
while(value > 0)
{
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
我是一个糟糕的运动,我改变了原来的例子,所以这里又是:
public class CountDownLatch
{
private volatile int m_remain; // <--- do I need the volatile keyword here?
private EventWaitHandle m_event;
public CountDownLatch(int count)
{
Reset(count);
}
public void …Run Code Online (Sandbox Code Playgroud) java ×2
actionscript ×1
adobe ×1
apache-flex ×1
c# ×1
c++ ×1
clojure ×1
database ×1
datetime ×1
deftype ×1
exception ×1
interlocked ×1
ipad ×1
java-ee ×1
mxml ×1
packages ×1
screenshot ×1
silverlight ×1
sql ×1
struts2 ×1
types ×1
volatile ×1