小编Pét*_*son的帖子

需要帮助识别此代码中使用的"覆盖方法"模式

以下是我正在进行的项目的简化.

我们有Talker niceTalker谁说"早上好!我的名字是乔".然后我们有一个schitzophrenic rudeTalker,谁说"他就是我".

我花了一段时间来理解代码的作用.对我来说,这似乎是压倒一切的非常复杂的方式Talker小号talk()方法.更多,TalkModifier用作命令模式中的命令(未示出).

为什么采用这种方法,而不是通过继承说多态?这是一个已知的模式,哪一个?

public interface Talker {
    String getName();
    void talk();
}
Run Code Online (Sandbox Code Playgroud)

-

public interface TalkModifier {
    public Talker modify(Talker talker);
}
Run Code Online (Sandbox Code Playgroud)

-

class NiceGuy implements Talker {
    @Override
    public void talk() {
        System.out.println("Good morning! My name is " + getName() +".");
    }
    @Override
    public String getName() {
        return "Joe";
    }
}

public class Application {

    public static void main(String[] …
Run Code Online (Sandbox Code Playgroud)

java oop design-patterns software-design

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

XCode单元测试:读取测试范围包时出错

在阅读测试范围包时收到错误!在XCode 5中运行单元测试时.没有测试运行.

不知道怎么解决这个问题?

xcode ios xcode5

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

如何伪造java.time.LocalDate返回的日期?

我需要能够在测试时伪造系统时间.我使用的源码使用了java.time.LocalDate.有没有办法让LocalDate.now()返回预设日期?

java

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

为什么使用工厂而不是'新'?

我正在阅读EMF:Eclipse Modeling Framework一书,其中声明:

EMF编程模型强烈鼓励但不要求使用工厂来创建对象.而不是简单地使用new运算符来创建[对象] ...

为什么鼓励使用工厂new

您的答案不一定是EMF特定的,只要它与Java有关.

java eclipse eclipse-emf eclipse-emf-ecore emf

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

函数调用中的双括号有什么作用?

我正在使用dlib(无关紧要;实现我建模的贝叶斯网络,以便在复杂域中处理概率).

我在其中一个示例程序中遇到了以下内容:

cout << "p(D=0) = " << solution.probability(D)(0) << endl;

在C++中调用函数后,我从未见过双括号.它做什么以及如何工作?

c++ syntax

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

当sql不在数学或其他语言中时,为什么null*0 = null

为什么' null * 0 = null'?

没有任何其他结果,为什么null*0不评估0?是否有可能与我不熟悉的某些更高级别的数学有关,或者它可能对dbms有一些影响?

sql math null

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

如何在基于枚举的交换机中处理默认情况?

我有一个枚举,根据枚举类型评估字符串是否有效.使用开关执行验证.默认操作是这样的: default: return false;.

程序员添加了一个新类型并忘记更新isValid(..),导致isValid(..)每次评估答案时调用都返回false.

您认为处理它的正确方法是什么?

public enum AnswerType {
  TEXT("string"),
  INT("integer"),
  FLOAT("float");

  final String type;

  AnswerType(final String type) {
    this.type = type;
  }

  /**
   * Checks whether the given answer is valid for this answer type.
   * @param answer The provided answer.
   * @return true if the answer is valid; false otherwise.
   */
  public boolean isValid(final String answer) {

    switch (this) {
      case TEXT:
        return !StringUtils.isEmpty(answer);

      case INT:
        return NumberUtils.isDigits(answer);

      case FLOAT:
        return NumberUtils.isNumber(answer); …
Run Code Online (Sandbox Code Playgroud)

java oop enums switch-statement

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

Switch 类有什么用?

开关类(派生自org.eclipse.emf.ecore.util.Switch<T>)用于什么?

javadoc的解释它作为

所有开关类的抽象基类。

这无济于事,因为我以前从未听说过“切换课程”。

java eclipse emf

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

使用字符串时,我应该对单个字符使用"c"或"c"吗?

一个非常简单的问题.它与性能有什么关系吗?别的什么?

System.out.println('c');
System.out.println("c");
Run Code Online (Sandbox Code Playgroud)

哪个,为什么?

System.out.println("Letter: " + "c");
System.out.println("Letter: " + 'c');
Run Code Online (Sandbox Code Playgroud)

哪个,为什么?

java

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

LinearLayout中按钮之间的间距相等

我在LinearLayout中垂直排列了四个按钮。

纽扣

我希望按钮之间的空间,最顶部按钮与线性布局的顶部之间的空间以及最底部按钮与布局的底部之间的空间相同。

在附图中,空格被描绘为红色路径。我希望所有空间都具有相同的大小。

我将如何实现自己的目标?

<LinearLayout
            p1:orientation="vertical"
            p1:layout_width="wrap_content"
            p1:layout_height="wrap_content"
            p1:id="@+id/mainButtonLayout">
            <Button
                p1:text="xxx"
                p1:layout_width="match_parent"
                p1:layout_height="wrap_content"
                p1:id="@+id/saButton"
                p1:textColor="#FFFFFF"
                p1:background="@drawable/roundedBlue"
                p1:minHeight="33dp"
                p1:minWidth="175dp"
                p1:layout_marginBottom="20dp" />
            <Button
                p1:text="xxxx"
                p1:layout_width="match_parent"
                p1:layout_height="wrap_content"
                p1:id="@+id/rButton"
                p1:textColor="#FFFFFF"
                p1:background="@drawable/roundedBlue"
                p1:minHeight="33dp"
                p1:minWidth="175dp"
                p1:layout_marginBottom="20dp" />
            <Button
                p1:text="xxxxx"
                p1:layout_width="match_parent"
                p1:layout_height="wrap_content"
                p1:id="@+id/sButton"
                p1:textColor="#FFFFFF"
                p1:background="@drawable/roundedBlue"
                p1:minHeight="33dp"
                p1:minWidth="175dp"
                p1:layout_marginBottom="20dp" />
            <Button
                p1:text="xxxxx"
                p1:layout_width="match_parent"
                p1:layout_height="wrap_content"
                p1:id="@+id/pButton"
                p1:textColor="#FFFFFF"
                p1:background="@drawable/roundedBlue"
                p1:minHeight="33dp"
                p1:minWidth="175dp" />
        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android button android-layout android-linearlayout

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