世の中、セオリーというものがある。
そのセオリーにしたがってほとんどのものは作られている。
が、時としてそれを完全無視したものが出てきて、それがイノベーションを生むのである。
最近遊びがてらLaravelというPHPフレームワークを勉強しているのだけれど、少しわからないところがあってgithubでサンプルを探していたのですよ。
そしたらなんと、Controllerのコンストラクタに奇妙なものがついていて。
[php]
public function __construct(
BlogRepository $blog_gestion,
UserRepository $user_gestion)
{
[/php]
んでこのRepositoryって何かというと、モデルを扱うラッパーみたいなものなのですよね。
Laravelのリポジトリパターンという書き方らしいのですが、Controllerのコンストラクタにモデルがぶち込まれるという書き方にびっくり。
そしてLaravel5ってのはMVCっぽくないというか、デフォルトでModelディレクトリが無い。
その人それぞれで考え方とか使い方が異なるからあえて排除。
Viewディレクトリもappディレクトリに無いし、既存のフレームワークを知っている人間からするとだいぶ驚きである。
が、この常識はずれな、セオリーから外れたやり方ってのがまた新たなイノベーションを生むのかもしれないですな。
これはこう使うもの、という固定観念を外すことが大事なのかもしれないなーと思いました。
が、こんなの勉強していったい何に使うのだろ、というところではありますが。
業務で使うことは無いだろうし、
いつか何かの役に立つのかねえ?