Olen onnellinen.

あしたもどこかで NullPointerException。資格試験とかシステム開発の記録だったりなかったり。

PHP4でシングルトン

PHP4でシングルトンなクラスの設計をしていて、サブクラスを作ってふがふが…って話が出てきた。
シングルトンってサブクラス作れないだろうと思いきや、PHP4だとコンストラクタもpublicだしサブクラス作れちゃうのでした。

  1.  <?php
  2.  
  3.  class AbstractSingle
  4.  {
  5.      var $value;
  6.  
  7.      function AbstractSingle () {}
  8.  
  9.      function & getInstance () {
  10.          static $instance;
  11.          if ($instance === NULL) {
  12.              $instance = new AbstractSingle();
  13.          }
  14.          return $instance;
  15.      }
  16.      
  17.      function setValue ($value) {
  18.          $this->value = $value;
  19.      }
  20.      
  21.      function getValue () {
  22.          return $this->value;
  23.      }
  24.  }
  25.  
  26.  class SingleA extends AbstractSingle
  27.  {
  28.      function SingleA () {
  29.          parent::AbstractSingle();
  30.      }
  31.  
  32.      function & getInstance () {
  33.          static $instance;
  34.          if ($instance === NULL) {
  35.              $instance = new SingleA();
  36.          }
  37.          return $instance;
  38.      }
  39.  }
  40.  
  41.  class SingleB extends AbstractSingle
  42.  {
  43.      function SingleB () {
  44.          parent::AbstractSingle();
  45.      }
  46.  
  47.      function & getInstance () {
  48.          static $instance;
  49.          if ($instance === NULL) {
  50.              $instance = new SingleB();
  51.          }
  52.          return $instance;
  53.      }
  54.  }
  55.  
  56.  $a =& SingleA::getInstance();
  57.  $a->setValue('A');
  58.  $b =& SingleB::getInstance();
  59.  $b->setValue('B');
  60.  
  61.  print $a->getValue();
  62.  print "\n";
  63.  print $b->getValue();
  64.  print "\n";
  65.  
  66.  $a2 =& SingleA::getInstance();
  67.  $a2->setValue('A2');
  68.  
  69.  print $a->getValue();
  70.  print "\n";
  71.  print $b->getValue();
  72.  print "\n";



▼ 実行結果
A
B
A2
B



とりあえず、こんな感じかな?
サブクラスのgetInstanceの実装はかなりイケてないんだけど、クラス名がとれないっぽいので。
う〜ん。PHP4のstaticの挙動はかなりアレだな。

このエントリーを含むはてなブックマーク | 

個人名刺

最近、急に必要性を感じたのでとりあえずで作ってみました。
今後はデザインとかも含めてもうちょっと洗練させていけたらなぁ、と。
データ入稿だとIllustratorが主流なのかな?(持ってないんですケド…)

まあ、その辺は今後、必要度に応じてってところですが。

やらなきゃいけないこと、やりたいことが山積みですよ。

このエントリーを含むはてなブックマーク | 

書評:SEのための交渉術

読書週間デス。

今日はこちら。
SEのための交渉術。

随所の会話例がなかなかに面白い。
拾い読みなのであんまり詳しくはわからん。


[理論で基礎固め、事例で実践力アップ! SEのための必勝スキルシリーズ]Win-Winで信頼を勝ち取る! SEのための交渉術 (SEのための必勝スキルシリーズ)
[理論で基礎固め、事例で実践力アップ! SEのための必勝スキルシリーズ]Win-Winで信頼を勝ち取る! SEのための交渉術 (SEのための必勝スキルシリーズ)

このエントリーを含むはてなブックマーク | 

書評:仕事のとれるSE-設計力、技術力、推進力でSEは決まる

SE一般書といったところ。

机上の空論になっておらず、大分現場に即している内容だと思う。
心構えやモデリングについても触れられてる良書だと思うのだが、タイトルが「仕事のとれるSE」なので、損をしてる気がする。こういうタイトルの方が売れるってことなのかな。


仕事のとれるSE-設計力、技術力、推進力でSEは決まる
仕事のとれるSE-設計力、技術力、推進力でSEは決まる

このエントリーを含むはてなブックマーク | 

書評:SEのためのコーチング技術

イラストも豊富で読みやすいコーチング本。
一時期流行ったよねコーチング。

結局現場なんて文化もピンキリだし、いかにその文化を把握できるかが重要になってきます。
ここに書いてあることがそのまま使えることはまず無いと思うけど、まあ応用してうまく部下と付き合えば良いのではないでしょうか。

部下がいなくても上司と良好な関係を築きたい人は読んでおくと良いかもです。

SEのためのコーチング技術
SEのためのコーチング技術

このエントリーを含むはてなブックマーク | 
Copyright © 2008 hydra404 all rights reserved.