小编Joh*_*n V的帖子

UML - 关联或聚合(简单的代码片段)

有多少书自相矛盾,让我抓狂。

Class A {} class B {void UseA(A a)} //some say this is an association,
no reference is held but communication is possible
Class A {} class B {A a;} //some say this is
    aggregration, a reference is held
Run Code Online (Sandbox Code Playgroud)

但是很多人说持有引用仍然只是一个关联,并且为了聚合他们使用一个列表 - 恕我直言,这是一样的,它仍然是一个引用。

我很困惑,我想了解这个问题。

例如这里:http : //aviadezra.blogspot.cz/2009/05/uml-association-aggregation-composition.html - 强关联和聚合之间的区别是什么,在这两种情况下,作者都使用一个字段来存储引用。 .

另一个例子:这据说是关联:

在此处输入图片说明

这被称为聚合:

在此处输入图片说明

public class Professor {
  // ...
}

public class Department {
  private List<Professor> professorList;
  // ..

}
Run Code Online (Sandbox Code Playgroud)

再次,有什么区别?它是两种情况下的参考

uml class-diagram diagramming associations aggregation

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

单元测试中的模拟是否需要接口?

我读过您需要定义接口才能模拟类型,但我不确定如何解释它。
例如,要模拟 FileSystem,我可以将对象传递给该方法,然后在从测试调用时模拟它,而不是直接调用某些 I/O 方法。为什么单元测试示例(如下面的 SO 问题中的示例)使用接口?

void DoIt(IZipper zipper, IFileSystem fileSystem, IDllRunner runner)
{
   string path = zipper.Unzip(theZipFile);
   IFakeFile file = fileSystem.Open(path);
   runner.Run(file);
}
Run Code Online (Sandbox Code Playgroud)

我不能简单地使用各自类型的参数,然后注入对象吗?

例如,在 GUICE 指南中,他们建议删除构造函数工作(例如,不要使用“new”关键字进行字段初始化),而是使用参数。

c# unit-testing

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

它与内存一起工作时是状态机吗?

在状态机中,据说它只保存有关当前状态的信息,并根据输入转移到下一个状态。

有附加条件的情况呢,例如:

状态 A(输入 X)---> 状态 B

状态 B
(输入 X) AND (SomeValue>=100) ---> 状态 C
(输入 X) AND (SomeValue < 100) ---> 状态 D

这还是状态机吗?

theory state-machine

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

就vuser而言,Jmeter vs LoadRunner

我发现了矛盾的信息,其中一个说JMeter可以产生更多的负载然后LR可以,另一个说相反.据我所知(如果我们不考虑许可),每个LoadGenerator仅受硬件限制.但JMeter也是如此.文档对我没什么帮助.有没有人有这两种体验,所以他可以比较?我说的是2 000到4000个用户.谢谢

testing jmeter performance-testing loadrunner

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

如何在没有Lambde表达式的情况下编写Func?

我正在考虑如何将此转换 List.Where(X=>X>5);为非lambda表达式代码.我无法弄清楚如何让Func在这里工作.

c# lambda anonymous-function

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

理解它的基数ERD模型

理解基数我遇到了很大的麻烦.

让我们说医生和他只能对一名病人进行心脏手术.当然有很多医生和很多病人,但模型应该是这样吗?

PACIENT-|----------|- DOCTOR   meaning 1:1?
Run Code Online (Sandbox Code Playgroud)

难道不需要反映有很多医生和很多患者吗?或者这描述了两个实际实例之间的关系?

另一个例子:医院开展了一项实验,可以让许多患者参加药物试验.每项试验只测试一种药物,没有患者可以出现在一次以上的试验中.

TRIAL |- ------<-PATIENT (很多人 - 允许更多的患者参加试验)

PATIENT|------|-DRUG (1:1,如果一名患者只能服用一种药物)?

但是如何表明同一患者不能出现在任何其他试验中?或者,试验方面有1,试验与患者之间的关系是隐含的吗?

database-design erd entity-relationship

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

具有Moment(date)元素的数组排序

我有一个数组,其中填充了moment(数据库提供的日期)元素。我试图对数组进行排序,以便第一个元素是最旧的,最后一个元素是最新的,但是没有成功。

     for (let item of items) {

            dates.push(moment(item.created));
          }
          dates.sort(function(a,b){
            var da = new Date(a).getTime();
            var db = new Date(b).getTime();

            return da < db ? -1 : da > db ? 1 : 0
          });
    }
  console.log(dates);
Run Code Online (Sandbox Code Playgroud)

这总是打印当前时间乘以元素数。

javascript sorting momentjs

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

用lambda表达式替换委托

我试图用lambda表达式替换以下语句:

 List<ABC> l = new List<ABC>();
  l.Find(delegate(ABC a) { return a.A == 4; });
Run Code Online (Sandbox Code Playgroud)

我试过了

 l.Find((ABC a)=>a.A==4;);
Run Code Online (Sandbox Code Playgroud)

但这显然是不正确的.谢谢

c# lambda delegates

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

为什么这个匿名方法在lambda的情况下不起作用?

我正在学习匿名方法,lambdas等,并且找不到它在这里不起作用的原因:

// this does not work
MyDictionary.Keys.Where(delegate(string s) { s.Length == 5; });

// this works
MyDictionary.Keys.Where(w => w.Length == 5);
Run Code Online (Sandbox Code Playgroud)

c# lambda anonymous-function

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

C# - 为什么我可以在没有实例化的类中使用委托?

我认为委托字段就像其他字段一样,在实例化类之前我不能使用它们.然而:

 class Program
    {

        delegate void lol (int A);
         string myX;

        static void Main(string[] args)
        {
            lol x = ... //works     

            myX //does not exist, 
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# field class

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