Ruby / Rail のお勉強 1
K講師による Ruby / Rail 講座第一回
- 1 + 1 の + を再定義して、マイナスにしたり、掛け算にしたりできちゃう。えっ、って感じ。JSの ProtoTypeとも違うなあ。
- 新プロジェクトの作成は簡単、テンプレートが充実しているみたい。MVC の VC だけを作るとか、Mを含めて、しかも DBのSchemaの定義までオプション指定できるみたい。
- MVC の M と、DB Schema が疎な結合されているらしい。疎と言っても、何も書かないと DB Schema の properties / fields がそのまま M ですでに認識されているので、何が疎なのか理解できていない。同じ名前で、M側で異なるブツで上書きできるということなのかな。
- .NET だと、MVC の M に Entity Framework を定義して、必要に応じて、 C側で View Model を別に立てて properties を mapping する、というのが定石かと思うが、Rails では、M が 多分 View Model に相当し、DB Schemaが Entity Framework の定義に相当するのかなあ。
- C と V も、暗黙的に接続されている。Cに @abc と変数を定義し、View側で @abc と使える。この引き渡しは、explicit に書く必要ない。
- @は変数宣言、@@はクラス宣言。
- convention に則って書いていくと、驚くほどコード行数が少なさそう。
- router は、ラウターと発音せねばならない。
- 1 + 1 の + を再定義して、マイナスにしたり、掛け算にしたりできちゃう。えっ、って感じ。JSの ProtoTypeとも違うなあ。
- 新プロジェクトの作成は簡単、テンプレートが充実しているみたい。MVC の VC だけを作るとか、Mを含めて、しかも DBのSchemaの定義までオプション指定できるみたい。
- MVC の M と、DB Schema が疎な結合されているらしい。疎と言っても、何も書かないと DB Schema の properties / fields がそのまま M ですでに認識されているので、何が疎なのか理解できていない。同じ名前で、M側で異なるブツで上書きできるということなのかな。
- .NET だと、MVC の M に Entity Framework を定義して、必要に応じて、 C側で View Model を別に立てて properties を mapping する、というのが定石かと思うが、Rails では、M が 多分 View Model に相当し、DB Schemaが Entity Framework の定義に相当するのかなあ。
- C と V も、暗黙的に接続されている。Cに @abc と変数を定義し、View側で @abc と使える。この引き渡しは、explicit に書く必要ない。
- @は変数宣言、@@はクラス宣言。
- convention に則って書いていくと、驚くほどコード行数が少なさそう。
- router は、ラウターと発音せねばならない。
MとDB Schemaの疎な結合。まさにその通りでRails CoCの例の1つですね。
返信削除UserというMに対してはusersテーブルと判断
propertiesはDB Schemaにあるそのテーブルのfieldsを見て判断
いちいちDB Schemaのfields変更に対してMを変更しなくていい。
この様にDRYであることはRailsの哲学の一つです。
暗黙な関係は実に楽で、コード行数がかなり減りますね。
返信削除