Authentication




Cancel OK
B!コメントする  2011-12-02 15:49:00 by old

クラスと関数の違い

よほど規模が大きいとかなら別なんですが、今までクラスとか作ったことはありませんし、クラスというのを意識して使っているという自覚もありません。
いくつかの言語を扱っていてこんなこというのも何ですけど・・・

でもってよく考えたらCodeIgniterはクラスというヤツの塊だと気づいたわけですが、なぜこの辺を意識することになったのかというと一言でいうところの
<p class="selector03">CodeIgniterのライセンス変更問題</p>
が一因です。
現在のCodeIgniter2.x系はCodeIgniterライセンスというものなんですが、3.x系からはOSLというものに変更されます。(予定ではあるけどほぼ決定でしょう)
そうすると色々と扱いに注意しないといけなくなるわけですが、ここでいつもの

なければ自分でつくればいいんじゃない?

というのが出てきたわけです。
そこでいくつかのフレームワークを見てみると「クラス」というのがどうしても避けて通れない・・・。
オブジェクト指向とかまぁ色々といわれてますが、実際のところCodeIgniter自体も「クラスを使ってる」という意識をまったくすることなく使ってました。
だってCodeIgniterのユーザーマニュアルにはそんなこと書いてないし、呼び出しの作法と使用方法が書いてあって、その通りにすれば動くから特に疑問にも思わない。

そこでクラスを見てみるとよくわからない。functionで使うのと何が違うんだろう・・・と・・・。
そして自分なりに分からないまま簡単なクラスを作ってみたり、比べたりした結果

    値の保持
関数    ×
クラス   ○

という大雑把な結論に至りました。
大雑把すぎるけど間違ってはないと思う。
あとは読んで初めて読み込まれるかそうでないかの違いくらいかな。
こう考えると1秒でも早く動かしたい場合はクラスが便利。
ついでに値を保持して、色んなクラス間で処理できるのでいちいち値の保持を別途考えなくてもいいとかかな。
(まぁそんなのはまだまだ作れないけど・・・)

こう考えるとクラスというのは便利に見える。
が、しかし、まぁ必要に応じて判断すればいいという考えに至る。


プログラム  

  • コメント
  • コメントはまだありません