问题列表 - 第27040页

OOP的缺点?

通常我不想知道OOP的缺点的具体情况,但是当我在最近参加的一次面试中发表争论时,感觉有点奇怪.发给我的问题是告诉我面向对象编程(OOP)的一个缺点.那时,我认为OOP是程序和功能模型之后最成熟的编程水平.所以我回答他说我根本没有看到任何负面消息.

但是面试官说很少,如果他不介意的话,我请他列出一个.他举了一个例子,我不能很好地消化.他说,一个面向对象的模式不严格执行继承规则,并列举卫星/火箭例如当身体各部位会定期瓦解火箭发射过程中去除重量和说,继承不支持这一点.

他的例子对我来说非常奇怪,原因是继承应用于这个例子.

我明白他给出的例子几乎没有任何意义,但我怀疑 -

我们可以在一个理想的面向对象设计中动态地拔掉类层次结构(我对Java有点不可信)吗?

c++ java oop inheritance

39
推荐指数
5
解决办法
2万
查看次数

我怎样才能让rails无法将转义引号呈现为\"

在我的布局中我有

<% @current_user.popups.each do |p| %>
  <% content_for :script do %>
    <%= "$(document).ready ( function() { $.jGrowl(\"#{p.message}\", { sticky: true }) });" %>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

然后在我的脚本部分

<%= yield :script %>
Run Code Online (Sandbox Code Playgroud)

问题是,这会呈现转义的报价,\&quot;而javascript不喜欢这样.

我怎么能阻止这种情况发生?或者还有另一种方法吗?我不能使用单引号,因为我想在消息中有一些html.我很感激任何帮助.

javascript ruby-on-rails actionview

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

具有泛型类型边界的Java Builder模式

我正在尝试使用Builder模式而不是telescoping构造函数创建一个包含许多参数的类.我是按照Joshua Bloch的Effective Java描述的方式做的,在封闭类上有私有构造函数,还有一个公共静态Builder类.Builder类在调用build()之前确保对象处于一致状态,此时它将封闭对象的构造委托给私有构造函数.从而

public class Foo {

    // Many variables

    private Foo(Builder b) {
        // Use all of b's variables to initialize self
    }

    public static final class Builder {

        public Builder(/* required variables */) {

        }

        public Builder var1(Var var) {
            // set it
            return this;
        }

        public Foo build() {
            return new Foo(this);
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

然后我想为某些变量添加类型边界,因此需要参数化类定义.我希望Foo类的边界与Builder类的边界相同.

public class Foo<Q extends Quantity> {

    private final Unit<Q> units;
    // Many variables

    private Foo(Builder<Q> b) {
        // Use all of …
Run Code Online (Sandbox Code Playgroud)

java generics builder type-safety

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

多条件覆盖测试

当使用称为多条件覆盖率的白盒测试方法时,我们是采用所有条件语句还是仅采用多个条件语句?现在也许是名字的线索,但我不确定。

所以如果我有以下方法

void someMethod()
  {

      if(a && b && (c || (d && e)) )  //Conditional A
      {

      }

      if(z && q)   // Conditional  B
      {
      }

  }
Run Code Online (Sandbox Code Playgroud)

我是否只为“条件A”生成真值表,还是也有条件B?

谢谢,

testing white-box-testing

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

使用imagemagick的蒙太奇命令一起粘贴平铺图像,而无需调整大小

这似乎是一个相当普遍的问题,所以我会用尽可能多的关键字来考虑它!

我有一堆(好的,九个)tile jpeg,带有标准的tile文件名.每个jpeg是220x175像素:

(top row)
tile_1_0_0.jpg
tile_1_1_0.jpg
tile_1_2_0.jpg
(middle row)
tile_1_0_1.jpg
tile_1_1_1.jpg
tile_1_2_1.jpg
(bottom row)
tile_1_0_2.jpg
tile_1_1_2.jpg
tile_1_2_2.jpg
Run Code Online (Sandbox Code Playgroud)

我如何使用imagemagick/montage"粘合"或将它们连接在一起以形成单个连贯的图像?我根本不想调整它们的大小,所以我猜最终的图像应该是660x525.

这将是蒙太奇,没有框架,阴影,边界等 - 只有九个原始图像,粘在一起制作一个jpeg.

我知道它应该是这些方面的东西,但我正在努力获得订单和正确的尺寸:

montage +frame +shadow +label -tile 3x3 -geometry <options> *.jpg joined.jpg
Run Code Online (Sandbox Code Playgroud)

tiles image imagemagick

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

Gzip和子进程'在python中的stdout

我正在使用python 2.6.4并发现我不能像我希望的那样使用gzip和子进程.这说明了问题:

May 17 18:05:36> python
Python 2.6.4 (r264:75706, Mar 10 2010, 14:41:19)
[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.

>>> import gzip
>>> import subprocess
>>> fh = gzip.open("tmp","wb")
>>> subprocess.Popen("echo HI", shell=True, stdout=fh).wait()
0
>>> fh.close()
>>>
[2]+  Stopped                 python
May 17 18:17:49> file tmp
tmp: data
May 17 18:17:53> less tmp
"tmp" may be a binary file.  See it anyway?
May 17 18:17:58> zcat tmp

zcat: tmp: …
Run Code Online (Sandbox Code Playgroud)

python gzip subprocess

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

如何将数据附加到 JTA 事务?(或唯一标识它)

我有一个 getStockQuote() 函数,它将从股票市场获取某个符号的当前股票报价。

我的目标是在 JTA 事务中,第一次调用 getStockQuote() 将获取股票报价,但同一事务中的所有后续调用将重用相同的股票报价(例如:它不会尝试获取新报价)。如果不同的事务开始,或者另一个事务同时运行,我希望另一个事务在第一次调用时获取自己的股票报价。

这是为了尽量确保交易内的一致性——以便交易内的所有计算都基于相同的股票价格。

这类似于如何将 JPA 提供程序配置为仅从数据库中获取数据库行一次,并使用缓存的值来后续访问事务中的同一数据库行。

有谁有关于如何实现这一目标的提示吗?

java transactions jta

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

偷偷摸摸的反斜杠的情况 - 正则表达式

我在这里遗漏了一些非常明显的东西,但我无法看到它.

我有:

string input = @"999\abc.txt";
string pattern = @"\\(.*)";
string output = Regex.Match(input,pattern).ToString();
Console.WriteLine(output);
Run Code Online (Sandbox Code Playgroud)

我的结果是:

\abc.txt
Run Code Online (Sandbox Code Playgroud)

我不希望斜线和斜面弄清楚为什么它会潜入输出.我尝试翻转模式,斜线再次在输出中结束:

string pattern = @"^(.*)\\";
Run Code Online (Sandbox Code Playgroud)

得到:

999\
Run Code Online (Sandbox Code Playgroud)

奇怪.结果在Osherove的Regulator中很好.有什么想法吗?

谢谢.

c# regex

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

在modelformset工厂中使用自定义表单?

我希望能够在modelformset_factory中使用自定义表单.例如:

models.py

class Author(models.Model):
    name = models.CharField()
    address = models.CharField()

class AuthorForm(ModelForm):
   class Meta:
        model = Author
Run Code Online (Sandbox Code Playgroud)

views.py

def test_render(request):
    myModelFormset = modelformset_factory(Author)
    items = Author.objects.all()
    formsetInstance = myModelFormset(queryset = items)
    return render_to_response('template',locals())
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但请注意我没有使用AuthorForm.问题是如何让modelformset_factory使用AuthorForm(我计划稍后自定义)而不是制作默认的Author表单?

django django-models django-forms

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

检查Rails中是否存在布局?

有没有一种标准方法可以检查Rails中Controller中是否存在视图布局?我试图让用户确定布局,但它需要先存在.

views ruby-on-rails

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