Laravelの勉強中
入社して1か月ちょっと経ちました。最初はgitと戦ってましたが、最近はLaravelとも戦っています。Laravelの本を読んでいるとDI( Dependency Injection =依存性注入)という言葉が結構出てきました。
例えば
interface Hello{
function sayHello();
}
class EnglishHello implements Hello{
public function sayHello(){
echo “Hello”;
}
}
class JapaneseHello implements Hello{
public function sayHello(){
echo “こんにちは”;
}
}
のような作りにしておいてこれを利用するメソッド側で
function something(HelloInterface $hello){
$hello->sayHello();
}
としておけば引数として渡すインスタンスに応じてsayHelloの振る舞いが変わるのでもしsomethingの中で呼び出す$helloのメソッドがもっと増えてから処理をごっそり入れ替えたくなってもHelloInterfaceを実装したクラスを引数として渡してあげればよいのでsomething側は特に修正しなくて済むし、機能ごとに処理をまとめておけばその機能がいらなくなったときも安心して消せるということらしいです。とっても便利ですね。ぜひ使っていきたいです!
あんまりタイトルと直接の関係はないですがLaravelの本を読んで便利だなーと感じたのでこのタイトルにしました。
実務でも使いつつ、綺麗にコードかけたらいいなぁと思います。