Cytat(Micchaleq @ 24.10.2012, 10:07:48 )

Z drugiej strony jeżeli już jest to wykorzystywane czy np takie 100 interfejsów nie obciąży trochę aplikacji?
Czy ktoś testował działanie z interfejsami i zarówno bez nich?
Witaj,
jak dla mnie, to tego typu rozwazania to typowy przyklad "premature optimization". Prawdopodobnie (bardzo, na Twoim poziomie zaawansowania)
popelnisz w kodzie bledy, ktore obciaza aplikacje wielokrotnie wiecej niz tych kilka dodatkowych interface'ow, wiec nie ma sie co nimi przejmowac,
gdyz ew zysk wydajnosci spowodowany ich brakiem bedzie wiele razy mniejszy niz np nieoptymalne zapytania sql czy tez ich obsluga.
oczywiscie jak wszystko inne, nie powinno sie uzywac interfacow dla samego uzywania interfacow, tu na mysl przychodzi mi "syndrom wzorcow projektowych",
wciskanych gdzie sie tylko da i jak sie tylko da, byleby "bylo bardziej pro". mechanizm interfacow (dobrym przykladem beda tez wzorce) jest tylko narzedziem, ktore powinno byc uzywane tam gdzie jest potrzebne (i pod warunkiem ze jego dzialanie jest przez programiste zrozumiale).
Najprosciej rzecz ujmujac, interfacy sluza do "unifikacji" obslugi obiektow (klas) pozornie ze soba nie zwiazanych.
majac kilka klas implementujacych pewien interface mozemy np stworzyc metode, ktora jako arg przyjmie obiekt implementujacy nasz interface
interface IParentInterface{
public function getParent();
}
class Foo implements IParentInterface{
public function getParent(){
return $this->parentNode;
}
}
class Baz implements IparentInterface{
public function getParent(){
return $this->rootNode;
}
}
class Parent implements IParentInterface{
public function getParent(){
return $this;
}
}
// -
public function DoSomethingWithParent(IParentInterface $object){
$parent = $object->getParent();
//...
}
w tym momencie nie interesuje nas obiekt jakiej klasy przekazemy do metody, wazne tylko, zeby implementowal on nasz interface, nie interesuje nas rowniez, w jaki sposob dostac sie do "parenta" naszego obiektu (ukrywamy szczegoly implementacji).
mam nadzieje ze przyklad jest chociaz troche jasny, gdyby byly jakies niejasnosci, smialo pytaj
pozdrawiam