标签: aggregation

喜欢构成而不是继承?

为什么喜欢构图而不是继承呢?每种方法都有哪些权衡取舍?什么时候应该选择继承而不是作文?

language-agnostic oop inheritance composition aggregation

1538
推荐指数
23
解决办法
29万
查看次数

关联,聚合和组合有什么区别?

关联,聚合和组合有什么区别?请解释一下实施情况.

oop uml associations composition aggregation

361
推荐指数
18
解决办法
34万
查看次数

MySQL - 在WHERE子句中使用COUNT(*)

我试图在MySQL中完成以下内容(请参阅pseudo代码)

SELECT DISTINCT gid
FROM `gd`
WHERE COUNT(*) > 10
ORDER BY lastupdated DESC
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用WHERE子句中的(SELECT ...)的情况下执行此操作,因为这看起来像是浪费资源.

mysql count having aggregation

150
推荐指数
8
解决办法
25万
查看次数

继承与聚合

关于如何在面向对象的系统中最好地扩展,增强和重用代码,有两种思路:

  1. 继承:通过创建子类来扩展类的功能.覆盖子类中的超类成员以提供新功能.当超类想要一个特定的接口但是对它的实现不可知时,使方法抽象/虚拟以强制子类"填空".

  2. 聚合:通过获取其他类并将它们组合到一个新类中来创建新功能.为这个新类附加一个公共接口,以便与其他代码进行互操作.

每个的好处,成本和后果是什么?还有其他选择吗?

我看到这个辩论定期出现,但我认为它还没有被问到Stack Overflow(虽然有一些相关的讨论).谷歌的结果也令人惊讶地缺乏.

language-agnostic oop inheritance aggregation

143
推荐指数
6
解决办法
8万
查看次数

显示所有Elasticsearch聚合结果/桶而不仅仅是10

我试图在聚合上列出所有桶,但它似乎只显示前10个.

我的搜索:

curl -XPOST "http://localhost:9200/imoveis/_search?pretty=1" -d'
{
   "size": 0, 
   "aggregations": {
      "bairro_count": {
         "terms": {
            "field": "bairro.raw"
         }
      }
   }
}'
Run Code Online (Sandbox Code Playgroud)

返回:

{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 16920,
    "max_score" : 0.0,
    "hits" : [ ]
  },
  "aggregations" : {
    "bairro_count" : {
      "buckets" : [ {
        "key" : "Barra da Tijuca",
        "doc_count" : 5812
      }, {
        "key" : "Centro",
        "doc_count" …
Run Code Online (Sandbox Code Playgroud)

aggregation elasticsearch

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

Java中聚合和组合的实现差异

我知道聚合和组合之间的概念差异.有人可以通过示例告诉我它们之间Java的实现差异吗?

java composition relationship aggregation

98
推荐指数
5
解决办法
10万
查看次数

ElasticSearch多级父子聚合

我有3个级别的父/子结构.让我们说:

公司 - >员工 - >可用性

由于此处经常更新可用性(以及员工),因此我选择使用父/子结构来嵌套.并且搜索功能正常(所有文档都在正确的分片中).

现在我想对这些结果进行排序.通过公司(第1级)的元数据对它们进行排序很容易.但我需要按第3级(可用性)排序.

我想要按以下列表排序的公司列表:

  • 给定ASC的位置距离
  • 评级DESC
  • 最快的可用性ASC

例如:

A公司距离5英里,评级为4,最快的一名员工在20小时内可用.B公司距离5英里,也有4级,但最快的一名员工可在5小时内完成.

因此排序结果需要为B,A.

我想对每个数据添加特别的权重,所以我开始编写聚合,以后可以在我的custom_score脚本中使用.

用于创建索引,导入数据和搜索的全部要点

现在,我已经设法编写了一个实际返回结果的查询,但可用性聚合桶为空.但是,我也得到了过于结构化的结果,我想将它们弄平.

目前我回来了:

公司IDS - >员工IDS - >首次可用性

我希望聚合如下:

公司IDS - >首次上市

通过这种方式,我可以使用我的custom_score脚本来计算得分并对其进行正确排序.

更简化的问题:
如何对多级(大)孩子进行排序/聚合,并可能使结果变平.

sorting aggregation elasticsearch

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

区分委派,组合和聚合(Java OO设计)

我面临着一个持续的问题,即彼此区分授权,组合和聚合,并确定最好使用一个而不是另一个的情况.

我已经查阅了Java OO分析和设计书籍,但我的困惑仍然存在.主要解释是:

委派:当我的对象使用另一个对象的功能而不改变它.

组成:我的对象由其他对象组成,而这些对象在我的对象被销毁之后又不能存在 - 垃圾收集.

聚合:我的对象包含其他对象,即使在我的对象被销毁之后也可以存活.

是否有可能有一些简单的例子来说明每个案例,以及它们背后的原因?除了我的对象只是引用另一个对象之外,还能展示这些示例吗?

java oop delegation composition aggregation

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

UML聚合与关联

我在这里,关于聚合和关联的另一个问题.我想学习一些UML的基础知识,所以我开始阅读Martin Fowler撰写的"UML精简版".我阅读了关于课程的两章,有一件事我想不到,那就是聚合与关联.在这本书中有这样的引用:

在UML之前的日子里,人们通常对聚合和关联是相当模糊的.无论是否含糊,它们总是与其他人不一致.因此,尽管出于不同的原因,许多建模者认为聚合很重要.因此UML包含聚合(图5.3),但几乎没有任何语义.正如Jim Rumbaugh所说,"把它想象成一个建模安慰剂" [Rumbaugh,UML Reference].

正如我从Stack Overflow上的这个引用和主题中所理解的那样,我使用这两个关系中的哪一个并不重要,它们的意思相同,或者是否有任何使用聚合而不是关联的情况是合理的和/或我不能改变一个到另一个而不改变类图的"含义"?

我问这个,因为这本书是从2003年开始的,有些事情可能会在这几年内发生变化.

uml associations aggregation

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

聚合与组合与关联与直接关联

我正在回顾我在面向对象编程方面的知识.在类主题之间的关系下,我遇到了一些对我来说有点模棱两可的关系.

我知道依赖"使用-a"和继承"是-a"但我对聚合,组合,关联和直接关联有点不熟悉; 还有,他们中的哪一个是"有一种"关系.有些人使用Aggregation与Association互换.

什么是直接协会?还有什么是作文?在UML图中,表示它们的箭头是不同的.如果你能为我清除这些事情,我将非常感激.

oop uml composition aggregation model-associations

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