注意:很抱歉这个问题很长!
我试图理解面向对象背后的一些关键领域,我无法以某种方式决定我的特定问题.
假设我有一个充满可爱数据的对象.班级鲍勃.
Bob myBob = new Bob("This string is data");
Run Code Online (Sandbox Code Playgroud)
假设我想将myBob的内容保存到xml文件(bob.xml)
我是否应该在bob上写一个对象来写出内容,或者我应该让myBob这样做吗?
案例1:对象行为
Writer myWriter = new Writer(myBob, "C:\\bob.xml");
Run Code Online (Sandbox Code Playgroud)
案例2:保存方法
myBob.Save("C:\\bob.xml");
Run Code Online (Sandbox Code Playgroud)
有些人支持选项一,因为这意味着如果更改了编写文件的代码,则不需要在每个Save方法中更新; 我想,促进代码重用.我的问题是从对象中获取所有数据,这些对象可能没有访问者的私有数据.
选项二的情况是该方法仅对对象持有的数据起作用,这就是它应该的方式.不受其他物体的干扰.
或者是我的问题的答案之一是"案例依赖"问题?如果是这样,你怎么知道何时一种方法优先于另一种?
我想做一个简单的版本控制系统,但我没有关于如何构建我的数据和我的代码的想法.
这是一个简短的例子:
用户应该能够看到树.(不同版本)树最多只能达到2个级别:
|
|--File_A_0
\--File_A_1
\--File_A_2
\--File_A_3
\--File_A_4
Run Code Online (Sandbox Code Playgroud)
还有两种类型的文件,一个final(最新批准的版本)和一个草稿版本(最新上传的文件)该文件将物理存储在服务器上.每个文件都由用户(或更多)拥有,只有一个组.
编辑:组代表一组文档,文档只能由一个组一次拥有.用户不依赖于组.
开始编辑:
这就是我所做的,但效率并不高!
id_article | relative_group_id | id_group | title | submited | date | abstract | reference | draft_version | count | status
id_draft | id_file | version | date
Run Code Online (Sandbox Code Playgroud)
但是很难管理,扩展.我认为这是因为小组参议员......
结束编辑
所以问题是:
(该应用程序是用PHP和Zend Framework开发的,数据库应该是mysql或postgresql)
在HTML5中有一种新的输入类型"搜索".在大多数浏览器上,它只是一个简单的"文本"输入,但对于基于webkit的浏览器,它添加了一个小的交叉来重置输入.
我希望能够处理这个,有没有这样的事件?
我最近在实时应用程序上遇到了一个问题.我意识到我有越来越多的并发异常和数据库锁.
基本上我启动一个事务,它需要一个SELECT
和一个INSERT
在同一个表上提交.
但是因为负载非常繁重,所以每个事务都会锁定表,在大多数情况下,它会如此之快,不会导致任何问题,但锁存器开始等待的时间越来越多.
我通过调整查询来解决这个问题.
虽然,现在,我想用PHPUnit编写一些测试来验证我的修复并避免任何回归.
我无法找到任何关于如何做到这一点的材料.
由于PHP不是多线程的,我不知道如何在单个测试中运行并发查询来验证.
基本上,我希望能够在一次测试中运行多个调用,以确保一切正常.
我知道我可以通过直接查询http服务器并加载整个应用程序来尝试进行一些高级测试,但由于我的问题来自一个独立的库,我宁愿自己测试它.
有任何想法吗?
我想知道在填写网页表单时是否可以知道大写锁定按钮是否处于活动状态?
有时,当您被要求输入密码时,软件会注意到您的密码是活动的,并且您要小心.
我本来希望在网络表单中做同样的事情.
有任何想法吗 ?
我的问题很简单:写入日志的内容.有没有约定?我该怎么办?
由于我的应用程序必须发布,我希望有友好的日志,大多数人都可以阅读,而不会询问它是什么.
我已经有了一些想法,比如时间戳,每个函数/方法的唯一标识符等等.我想要有几个日志级别,比如跟踪/调试,信息,错误/警告.
您是否使用了一些预先格式化的日志资源?
谢谢
我刚刚从维基百科ISO 3166-1中写了一份国家列表
我的目标是在我的xhtml中选择使用它,但它是一个巨大的列表.你有多少人来自阿鲁巴?但是你有多少来自英国,法国甚至是美国?
有时,我可以看到最常见的国家列在列表的顶部.
这是一个好习惯吗?为什么不呢?
我不想知道一种预装图像的方法,我在网上发现了很多,但我想知道它是如何工作的.javascript如何预加载图片?我的意思是,我从这里尝试了一个片段,即使它有效,也似乎没有预装图像.
当我检查萤火虫时,我可以看到图像被加载两次,一次是预加载,另一次是显示它!
为了改进这段代码,我想知道它是如何工作的.
这是我做的:
function preload(arrayOfImages) {
$(arrayOfImages).each(function(){
$('<img/>')[0].src = this;
//(new Image()).src = this;
alert(this +' && ' + i++);
});
}
Run Code Online (Sandbox Code Playgroud)
然后我做那样的事情:
preloader = function() {
preload(myImages);
}
$(document).ready(preloader);
Run Code Online (Sandbox Code Playgroud)
这是我显示/添加图像的方式:
$("li.works").click(function() {
$("#viewer").children().empty();
$('#viewer').children().append('<img src=\'images/ref/'+this.firstChild.id+'.jpg\' alt="'+this.firstChild.id+'" \/>')
$("#viewer").children().fadeIn();
Run Code Online (Sandbox Code Playgroud)