相关疑难解决方法(0)

什么是鸭子打字?

我在网上阅读随机主题时遇到了鸭子打字这个术语,并没有完全理解它.

什么是"鸭子打字"?

programming-languages duck-typing

388
推荐指数
7
解决办法
11万
查看次数

如何在ruby中实现抽象类?

我知道ruby中没有抽象类的概念.但是,如果它需要实施,那该怎么办呢?我试过像......

class A
  def self.new
    raise 'Doh! You are trying to write Java in Ruby!'
  end
end

class B < A
  ...
  ...
end
Run Code Online (Sandbox Code Playgroud)

但是当我尝试实例化B时,它会在内部调用A.new哪个会引发异常.

此外,模块无法实例化,但也无法继承.使新方法私有也行不通.有什么指针吗?

ruby abstract-class

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

Java Generics Hell

我怀疑这里曾经问过(并回答过),但我不知道如何命名问题.为什么只有在我没有通过课程本身时才能表达通配符而没有问题?

这一切都归结为这段代码.一切都按预期工作,除了调用genericsHell(ShapeSaver.class):

interface Shape { }

interface Circle extends Shape { }

interface ShapeProcessor<T extends Shape> { }

class CircleDrawer implements ShapeProcessor<Circle> { } 

class ShapeSaver<T extends Shape> implements ShapeProcessor<T> { }

class Test {
    void genericsHeaven(ShapeProcessor<? extends Shape> a) {}

    void genericsHell(Class<? extends ShapeProcessor<? extends Shape>> a) {}

    void test() {
        genericsHeaven(new CircleDrawer());
        genericsHeaven(new ShapeSaver<Circle>());
        genericsHell(CircleDrawer.class);
        genericsHell(ShapeSaver.class); // ERROR: The method genericsHell is not applicable for the arguments (Class<ShapeSaver>)
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics nested-generics

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

动态语言中的领域驱动设计工作?

您是否了解动态语言中的任何DDD工作?

当偏离面向企业的解决方案(谷歌搜索,包括C#,.NET,ASP和Java产生的结果少10倍)时,DDD的实用资源往往会大幅减少,但我实际上找不到DDD实现的单一示例用动态语言......

domain-driven-design dynamic-languages

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