问题列表 - 第5832页

通过信息隐藏有效封装的一个很好的例子?

" 抽象封装是互补的概念:抽象关注于对象的可观察行为......封装集中于产生这种行为的实现......封装通常是通过信息隐藏来实现的,这是隐藏所有内容的过程.物体的秘密对其基本特征没有贡献." - 面向对象分析与设计的Grady Booch

您能否通过信息隐藏向我展示一些有说服力的封装优势的例子?

language-agnostic oop encapsulation abstraction information-hiding

10
推荐指数
2
解决办法
4677
查看次数

如何在更改父窗口时阻止IE在IFrame中显示URL

在IFrame中使用javascript:parent.location.href更改父窗口时,IE会短暂更改IFrame内容以列出父级正在更改的URL.Firefox,chrome和opera只是更改父窗口.

有没有办法让IE跳过显示IFrame中的网址,只是更改父级?

[编辑]

这是复制它的示例代码.

iframe页面:

<iframe id="finder" name="finder" src="content.html" scrolling="no" height="620" width="620" style="border:1px #c0c0c0 solid;"></iframe>
Run Code Online (Sandbox Code Playgroud)

内容页:

<a href='javascript:parent.location.href="http://www.google.com"'>test link</a>
Run Code Online (Sandbox Code Playgroud)

javascript iframe internet-explorer

2
推荐指数
1
解决办法
2243
查看次数

布隆过滤器对面?

我正在尝试优化一个基本上运行数百万次测试的软件.这些测试的生成方式可能会有一些重复.当然,如果我能有效地避免它,我不想花时间运行我已经运行的测试.

所以,我正在考虑使用Bloom过滤器来存储已经运行的测试.但是,Bloom过滤器对我来说不安全.它给出了误报.也就是说,它可能会报告我已经进行了一项我没有进行的测试.虽然这在我正在研究的场景中是可以接受的,但我想知道是否有相当于Bloom过滤器,但在相反方面犯了错误,即只给出假阴性.

我没有运气就浏览了文献.

bloom-filter data-structures

56
推荐指数
4
解决办法
1万
查看次数

异步Web服务调用总是调用AsyncCallback吗?

我正在从C#应用程序进行异步Web服务调用:

{
  //Put UI in 'loading' state
  ...

  //Now call web service
  webServiceProxy.BeginMyMethod(param, new AsyncCallback(MyCallback), null);
}


private void MyCallback(IAsyncResult res)
{
   ...
   //process result

   // Put UI back in normal state (yes I'm marshalling back to the UI thread)
}
Run Code Online (Sandbox Code Playgroud)

主线程将应用程序置于"等待"模式,然后回调函数的结束重新启用控件.我偶尔会看到一个错误,UI在加载模式下永远陷入困境.

现在回调代码中可能只有一个错误(那里有相当多的错误),但我对社区的问题是:

"MyCallback"是否值得被称为?假设"BeginMyMethod"没有抛出异常,我可以确定MyCallback会被执行吗?我在BeginXXX函数返回的IAsyncResult上看到"CompletedSynchronously"和"IsCompleted",但我不确定这是否重要.

.net c# web-services

1
推荐指数
1
解决办法
3294
查看次数

摆脱C#数组中的空/空字符串值

我有一个程序,其中数组使用string.Split(char [] delimiter)获取其数据.(使用';'作为分隔符.)

但是,有些值为null.即字符串具有没有数据的部分,因此它执行如下操作:

1; 2; ; 3;

这导致null值我的数组.

我怎么摆脱他们?

c# arrays string null

35
推荐指数
1
解决办法
4万
查看次数

如何在Perl中生成数组的所有排列?

n!在perl中生成数组的所有排列的最佳(优雅,简单,高效)方法是什么?

例如,如果我有一个数组@arr = (0, 1, 2),我想输出所有排列:

0 1 2
0 2 1
1 0 2
1 2 0
2 0 1
2 1 0
Run Code Online (Sandbox Code Playgroud)

它应该是一个返回迭代器的函数(延迟/延迟评估,因为它n!可能变得非常大),所以它可以这样调用:

my @arr = (0, 1, 2);
my $iter = getPermIter(@arr);
while (my @perm = $iter->next() ){
    print "@perm\n";
}
Run Code Online (Sandbox Code Playgroud)

arrays algorithm perl permutation

19
推荐指数
3
解决办法
3万
查看次数

跳转到vim中的函数定义

如何使用vim跳转到函数定义?例如,使用Visual Assist,我可以在函数下键入Alt+ g,它会打开一个上下文菜单,列出带有定义的文件.

我怎样才能在vim中做这样的事情?

vim function

223
推荐指数
9
解决办法
19万
查看次数

实体框架:如何使用rowversion字段为每个类继承启用一个表?

为什么我不能在子类中定义具有相同名称的成员?每个类继承一个表rowversion timestamp,每个表中都有一个字段.似乎实体设计者应该允许这样做,并使用new属性上的关键字来实现它.解决方法是什么?如果我不能使用,new如何在具有不同值的继承链中指定相同的字段?对于具有rowguids,modifiedbys,modifieddates等的其他数据库,情况可能如此.

编辑:我想这样做的逻辑方法是重命名对该字段的引用,即PersonRowversionStudent下降的类中Person.

我错过了一块可以自动跟踪这些字段的EF吗?

inheritance entity-framework single-table-inheritance

1
推荐指数
1
解决办法
1814
查看次数

为什么glibc"timezone"全球不同意DST的系统时间?

我遇到了一个奇怪的问题,我的系统时钟知道它是夏令时,但glibc似乎没有.这是一个最新的Ubuntu安装,我检查了/ etc/localtime,它有正确的转换时间,用于上周切换到夏令时.

对我来说,目前正确的时区是太平洋夏令时(UTC-7).当我问我的系统我在哪个时区时,它正确告诉我:

$ date +%z
-0700
Run Code Online (Sandbox Code Playgroud)

但是当我运行以下程序时:

#include <time.h>
#include <stdio.h>

int main() {
  tzset();
  printf("%lu\n", timezone);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是错误的:

28800
Run Code Online (Sandbox Code Playgroud)

对应于UTC-8或太平洋标准时间.(不,TZ未在我的环境中设置)

我认为glibc和日期程序会从同一来源获得他们的时区信息,但显然要么他们没有,要么我误解了glibc时区全球的运作方式.

那么基本问题是:

  1. 为什么这两个输出不同
  2. 如何可靠地检测C程序的系统UTC偏移?

c timezone glibc

6
推荐指数
1
解决办法
2978
查看次数

无法制作一系列虚拟文件

我需要从File1,File2,...到File99调用文件.

我尝试了下面的失败

cat test > {File1 .. File99}
Run Code Online (Sandbox Code Playgroud)

没有单词File的命令不起作用.

bash terminal

2
推荐指数
2
解决办法
905
查看次数