Loading article…
集約パターンは、統計またはコンピュータ プログラミングの概念を参照できます。どちらの用途でも、大きなケースをより小さく単純な部分で構成されていると見なします。
統計
集計パターンは、サブグループが一貫して特定の行動をとる傾向に基づいて、大規模なグループの行動を予測するために統計に依存する多くの分野において重要な統計概念です。これは、社会学、経済学、心理学、犯罪学で特に役立ちます。
コンピュータプログラミング
デザイン パターンでは、集約はデザイン パターンではなく、反復子を作成するためのインターフェイスを提供するリスト、ベクター、ジェネレーターなどのオブジェクトを指します。次のサンプル コードはPythonです。
def fibonacci ( n : int ):
a , b = 0 , 1
count = 0
while count < n :
count += 1
a , b = b , a + b は
a を生成します
フィボナッチ数列( 10 )のx について: print ( x )
def fibsum ( n : int ) -> int :
total = 0
for x in fibonacci ( n ):
total += x
return total
def fibsum_alt ( n : int ) -> int :
""" 代替実装。Python の組み込み関数 sum() が 任意のイテレータで動作することを示すデモンストレーション。 """ return sum ( fibonacci ( n ))
私の数字 = [ 1 , 7 , 4 , 3 , 22 ]
def average ( g ) -> float :
return float ( sum ( g )) / len ( g ) # Python 3ではfloatへのキャストは不要になりました
Python は、反復子プロトコルを使用して、基本的にすべての詳細を隠します。紛らわしいことに、デザイン パターンでは、コード内の空白を指すために「集約」を使用しますfor x in ___:が、これは「集約」という用語とは無関係です。[1]これらの用語はどちらも、フィボナッチ数列を加算したり、数値リストの平均を取得したりするような、データの統計的集約を指すものではありません。
参照
参考文献
- ^ デザインパターン、22 ページ: 「集約とは、1 つのオブジェクトが別のオブジェクトを所有するか、別のオブジェクトに対して責任を負うことを意味します。...集約とは、集約オブジェクトとその所有者の有効期間が同一であることを意味します。」
