通常我不想知道OOP的缺点的具体情况,但是当我在最近参加的一次面试中发表争论时,感觉有点奇怪.发给我的问题是告诉我面向对象编程(OOP)的一个缺点.那时,我认为OOP是程序和功能模型之后最成熟的编程水平.所以我回答他说我根本没有看到任何负面消息.
但是面试官说很少,如果他不介意的话,我请他列出一个.他举了一个例子,我不能很好地消化.他说,一个面向对象的模式不严格执行继承规则,并列举卫星/火箭例如当身体各部位会定期瓦解火箭发射过程中去除重量和说,继承不支持这一点.
他的例子对我来说非常奇怪,原因是继承应用于这个例子.
我明白他给出的例子几乎没有任何意义,但我怀疑 -
我们可以在一个理想的面向对象设计中动态地拔掉类层次结构(我对Java有点不可信)吗?
在我的布局中我有
<% @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)
问题是,这会呈现转义的报价,\"
而javascript不喜欢这样.
我怎么能阻止这种情况发生?或者还有另一种方法吗?我不能使用单引号,因为我想在消息中有一些html.我很感激任何帮助.
我正在尝试使用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) 当使用称为多条件覆盖率的白盒测试方法时,我们是采用所有条件语句还是仅采用多个条件语句?现在也许是名字的线索,但我不确定。
所以如果我有以下方法
void someMethod()
{
if(a && b && (c || (d && e)) ) //Conditional A
{
}
if(z && q) // Conditional B
{
}
}
Run Code Online (Sandbox Code Playgroud)
我是否只为“条件A”生成真值表,还是也有条件B?
谢谢,
这似乎是一个相当普遍的问题,所以我会用尽可能多的关键字来考虑它!
我有一堆(好的,九个)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) 我正在使用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) 我有一个 getStockQuote() 函数,它将从股票市场获取某个符号的当前股票报价。
我的目标是在 JTA 事务中,第一次调用 getStockQuote() 将获取股票报价,但同一事务中的所有后续调用将重用相同的股票报价(例如:它不会尝试获取新报价)。如果不同的事务开始,或者另一个事务同时运行,我希望另一个事务在第一次调用时获取自己的股票报价。
这是为了尽量确保交易内的一致性——以便交易内的所有计算都基于相同的股票价格。
这类似于如何将 JPA 提供程序配置为仅从数据库中获取数据库行一次,并使用缓存的值来后续访问事务中的同一数据库行。
有谁有关于如何实现这一目标的提示吗?
我在这里遗漏了一些非常明显的东西,但我无法看到它.
我有:
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中很好.有什么想法吗?
谢谢.
我希望能够在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表单?
有没有一种标准方法可以检查Rails中Controller中是否存在视图布局?我试图让用户确定布局,但它需要先存在.
java ×3
actionview ×1
builder ×1
c# ×1
c++ ×1
django ×1
django-forms ×1
generics ×1
gzip ×1
image ×1
imagemagick ×1
inheritance ×1
javascript ×1
jta ×1
oop ×1
python ×1
regex ×1
subprocess ×1
testing ×1
tiles ×1
transactions ×1
type-safety ×1
views ×1