Вообще ничего плохого в их использовании не вижу, однако сам всегда использую функцию app('class') или app()->make('class') - оно нагляднее отображает что я беру объект не откуда-то а из IOC, в то время как фасад можно спутать с обычным статическим классом.
Хотя можно совсем извратится и писать Container::getInstance()->make('class', []); но не рекомендую, кто знает когда Тйэлор перепишет хелпер app =)
Кто скажет что статика это зло - смотрим исходники
laravelif (! function_exists('app')) {
/**
* Get the available container instance.
*
* @param string $make
* @param array $parameters
* @return mixed|\Laravel\Lumen\Application
*/
function app($make = null, $parameters = [])
{
if (is_null($make)) {
return Container::getInstance();
}
return Container::getInstance()->make($make, $parameters);
}
}