今天我读了一本书,作者写道,在一个设计良好的类中,访问属性的唯一方法是通过其中一个类方法.这是一个被广泛接受的想法吗?为什么封装属性如此重要?不做的后果可能是什么?我之前在某处读过,这可以提高安全性或类似的东西.PHP或Java中的任何示例都非常有用.
我正在使用HTML5为Blackberry OS 6.0构建企业应用程序.我打算使用PhoneGap来开发应用程序.我发现Blackberry也有类似WebWorks的东西.
WebWorks和PhoneGap有什么区别?
我最近开始使用jQuery,今天发现了一个奇怪的问题,它对我的行为如何.据我了解,JavaScript是单线程的.所以它的所有操作都应该以FIFO为基础运行.但是,对我来说,情况似乎并非如此.请考虑以下事项.
SETUP如下
HTML:
3个div
div#1 =>包含可以单击以执行排序功能的标题元素
div#2 =>包含需要排序的数据
div#3 =>包含一个基本的.gif文件,用于通知用户正在执行某些操作
jQuery - 包含执行DOM操作的sort函数.基本上,它从HTML页面读取数据,存储在2D数组中,并对数组进行排序.然后它使用排序数组中的数据完全清除div#2(数据div)并重建它.
执行预计如下
但是,这似乎发生了什么
用户单击标题
排序发生
在最后一步隐藏和显示div
最初,由于我无法看到任何显示/隐藏的div,我认为它发生得太快,我无法注意到.所以我给jQuery的.show()和.hide()函数添加了一个时间延迟.一旦完成,很明显,最终会显示和隐藏动作.
*解决方案* 经过大量搜索,我设法通过使用jQuery .queue()和.dequeue()函数来实现这一点.这里的阿喀琉斯之踵是我必须在每次手术之间插入1毫秒的延迟.然后,只有这样,浏览器能够隐藏/显示我想要的div.所以操作就是这样的:
var theQueue = $({}); // jQuery on an empty object
theQueue.queue("testQueue",
function( next) {
$("#loadingIndicator").show();
$("#cases").hide();
next();
}
);
theQueue.delay( 1, "testQueue" );
theQueue.queue("testQueue",
function( next) {
doSort(columnNumber); //SORT
next();
}
);
theQueue.delay( 1, "testQueue" );
theQueue.queue("testQueue",
function( next) {
$("#loadingIndicator").hide();
$("#cases").show();
next();
}
);
theQueue.dequeue("testQueue");
Run Code Online (Sandbox Code Playgroud)
}
我当然不是这方面的专家,但我认为操作应该按照调用的顺序执行.浏览器是否以正确的顺序呈现?jQuery是否改变了操作顺序以提高效率?
虽然"解决方案"完成了这项工作,但我不相信它是这种情况下的最佳解决方案.有没有其他方法可以做到这一点?如果需要,我可以提供可以证明问题的工作代码示例.谢谢.
另一方面,我注意到大数据集,当用户点击标题元素触发排序时,浏览器变得无法响应.我意识到它正在执行sort函数,但我希望有一种方法可以避免这种情况.有什么想法吗?
有人可以告诉我是否有办法将kml文件加载到android中的谷歌地图.
谢谢
有谁知道我是否有办法获得数据库的最大RowVersion值?我使用的数据库是SQL Server 2008.
谢谢.
例如,有来源:
void my_special_debugging_function(const char* function_name, const char* file_name, int line_number);
void func1() {
func3();
func4();
}
void foo() {
func1();
if(qqq) {
func2();
};
func3();
func4();
for(...) {
func5();
}
}
Run Code Online (Sandbox Code Playgroud)
它应编译为:
void my_special_debugging_function(const char* function_name, const char* file_name, int line_number);
void func1() {
my_special_debugging_function("func1", "prog.c", 3);
func3();
my_special_debugging_function("func1", "prog.c", 4);
func4();
my_special_debugging_function("func1", "prog.c", 5);
}
void foo() {
my_special_debugging_function("foo", "prog.c", 8);
func1();
my_special_debugging_function("foo", "prog.c", 9);
if(qqq) {
my_special_debugging_function("foo", "prog.c", 10);
func2();
my_special_debugging_function("foo", "prog.c", 11);
};
my_special_debugging_function("foo", "prog.c", 12);
func3(); …Run Code Online (Sandbox Code Playgroud) 一些jquery插件扩展小部件使用_create方法,而其他人使用_init方法,有人可以解释两者之间的差异吗?
关于何时扩展小部件或直接扩展jquery.fn的任何指导?
这似乎没有很好地记录或我错过了,所以在我运行一堆我自己的测试之前,我想知道是否有人已经知道其中一些问题的答案.
首先,当我说"申请"时,我指的是扩展Application课程. http://developer.android.com/reference/android/app/Application.html
我的问题如下,有些是相关的.
当用户从应用程序中离开活动并转到另一个应用程序的活动时,应用程序是否会以某种方式暂停,即使它没有onPause()?或者它是否继续不受影响直到它的所有活动都被销毁?
应用程序什么时候停止?当它的所有活动都被销毁?
是否有可能在没有应用程序实例的情况下运行其中一个应用程序活动,或者如果有其中一个活动,应用程序类是否总是存在?
如果应用程序上正在运行某个进程,并且它的所有活动都已暂停,那么该进程是否会继续运行?
应用程序是以任何方式通过轮换实现的,还是轮换只会改变活动?
谢谢
我在OpenGL和C++编程.我知道1行(对角线)上的2个点,并希望围绕该对角线旋转对象.我该怎么做呢?我知道如何使用glrotatef它围绕x,y或z轴旋转,但我不确定这一点.
我的意思是:
用Mono编写的OS X应用程序可以利用这些MonoTouch功能吗?
android ×2
jquery ×2
blackberry ×1
c ×1
c++ ×1
construction ×1
cordova ×1
gcc ×1
google-maps ×1
html5 ×1
jit ×1
jquery-ui ×1
kml ×1
lifecycle ×1
macos ×1
mono ×1
ooad ×1
oop ×1
opengl ×1
profiling ×1
rotation ×1
sql-server ×1
widget ×1
xamarin.ios ×1