Estou aprendendo o princípio SOLID. Ao aprender o "Princípio da Inversão de Dependência", descobri que a classe deve depender de interfaces em vez de classes concretas.
Isso significa que a composição não é permitida? Além disso, a agregação é igual ao DIP?
Composição:
class HPDesktop {
private BluetoothMouse bluetoothMouse;
private BluetoothKeyboard bluetoothKeyboard;
public HPDesktop(){
bluetoothMouse = new BluetoothMouse();
bluetoothKeyboard = new BluetoothKeyboard();
}
}
DIP: (Isso parece ser uma agregação)
class HPDesktop {
private Mouse mouse;
private Keyboard keyboard;
public HPDesktop(Mouse mouse, Keyboard keyboard){
this.mouse = mouse;
this.keyboard = keyboard;
}
}