La composizione e l'aggregazione sono entrambi per me fonte di confusione. Il mio codice di esempio qui sotto indica composizione o aggregazione?
class A {
public static function getData($id) {
//something
}
public static function checkUrl($url) {
// something
}
class B {
public function executePatch() {
$data = A::getData(12);
}
public function readUrl() {
$url = A::checkUrl('http/erere.com');
}
public function storeData() {
//something not related to class A at all
}
}
}
La classe B è una composizione di classe A o è aggregazione di classe A? La composizione significa semplicemente che se la classe A viene cancellata la classe B non funziona affatto e l'aggregazione se la classe A ottiene i metodi cancellati nella classe B che non usano la classe A funzionerà?