2007-06-01から1ヶ月間の記事一覧
集中連載「クラス間依存関係の除去」を書いていて思ったこと. 共変の戻り値型をサポートしているD言語では,次のように; class A {} class B : A {} class Foo { A hoge() { return new A; } } class Bar : Foo { B hoge() { return new B; } // override …
さて,前回はファクトリパターンを適用しました. ところが,このままではファクトリクラス AnimalFactory が生成する具象クラス Dog/Cat に依存しているので,具象クラスを追加する度に AnimalFactory の修正が必要になります. 一般的に,ファクトリクラス…
はてなブックマーク > ITmedia Biz.ID:ファイルのロックを強制的に解除する 2007年06月27日 haru-s こんなのなくてもctrl+shift+escでExplorer.exeのプロセスを全部終了してwin+rでexplorerを実行すればおk/案外知らない?
あの魔法言語リリカル☆LISPの開発陣であるλ組がOSC2007に参戦してる件について. おいwwwwwwwwwwwwwマジかwwwwwwwww しかも開催場所が近所だから行きたくなるじゃないか! まあ作ってるの後輩なんだけどな おまいらgjすぎる
前回は,クラステンプレート AnimalTemplate を導入することで,IAnimal インタフェースと Dog/Cat クラスの継承関係を断ちました. 今回は,利用側である main.d ファイルと具象クラス Dog/Cat の依存関係を断つために,シンプルなファクトリクラスを導入し…
元のコードは,Dog クラスと Cat クラスが IAnimal インタフェースを継承しています. 継承関係は非常に強い依存関係であるため,設計変更が難しくなりやすいです. そこで,より弱い依存関係を目指して,テンプレートを使ってこの親子関係をなくしてみまし…
WebDAVみたいなもんか. 「おっ!」と思わされるね.
次のコードは,オブジェクト指向における継承とポリモーフィズムを使った代表的な例です. インタフェースと実装を分離する最も基本的な形ですね. ただ,このままではまだ各クラス間および各ファイル間の依存関係が強いです. そこで,このコードをベースと…
うまくいくかどうかはわかりませんが連載に挑戦してみます(^^; 第1回 - 継承とポリモーフィズムを使ったコードの基本形 第2回 - テンプレートを用いた継承関係の除去 第3回 - ファクトリクラスの導入によるインスタンス生成処理の分離 第3.5回 - ファク…
順調に体重は減ってます. 今日は減りすぎたかも. 疲れたorz
ヴェイパーシールドktkr いやマジで? 最強すぎるんだけどw (タイトルに直接リンクを張ってみた)
なにげに const メンバ関数が追加されてる? それと invariant メンバ関数なるものも. class A { private: int value; int mutableMember() { value = 1; return value; } const int constMember() { /+value = 1;+/ return value; } invariant int invaria…
この間のコードと大差ないんだけど. 文字列リテラルは,D2.0 では invariant になった. そのため,文字の配列と考えるよりも,文字列全体でひとつのデータの塊だと考えた方がわかりやすい. ただ,コンパイラによる最適化のことも考えないといけない. imp…
配列同士の比較演算についてあまり理解していなかったので補習. import std.stdio; void main() { string a = "EXIT"; string e = "EXIT".dup; bool _is = a is e; // false bool _equals = a == e; // true writefln(_is); writefln(_equals); } というこ…
脳内メーカー なんか割と普通だったw
ふむふむ. import std.stdio; void main() { // Note: type of "string literal".dup is char[] { // char[] s = "hoge"; // error, invariant(char)[] to char[] char[] s = "hoge".dup; s[0] = 'H'; s = "HOGE".dup; writefln(s); } // Note: type of str…
はやっw リリースされたのはいいんだけど,あまりにもバグってて笑った. 追記 って,あれっ? バグってるのは俺の方かも. ちゃんと勉強しなきゃ.
niconico(ニコニコ) タイトルバーのテキストのセンスが好きw (↑のはまだγのままだね)
ゲームミュージックを無料で24時間ストリーミング配信しているサイトをご紹介. gamingfm.com - gamingfm リソースおよび情報 聴き方 まず,ShoutCast という音楽配信システムを使っているので,これに対応している音楽プレイヤーが必要だ. 自分は Wina…
なるほどなぁ! 色々いじってて感じたのは,これからは char じゃなくて string を使えという意思. 後で見直すために書いておこう. (あ,いや,えらい人には当たり前のことかもしれないです(^^;;;) テンプレートに値パラメータとして文字列リテラルを渡…
ソースコードが見づらいので pre タグの改行幅を狭めたい. 追記 こんなもんかな.
http://d.hatena.ne.jp/haru-s/20070614/1181841613 の続きというか関連. C++ で多態(polymorphism)を実現する方法はたくさんある。 昔は継承で実現するのが一般的だったが、最近は 委譲が推奨されている。そこで、以下のコードを書いてみた。 おそらくその…
http://d.hatena.ne.jp/haru-s/20070613/1181756178 の続き.polymorphism(というか interface)を使えば,「ここでは使わないメソッドも持っていないといけない」という制約を実現できるなあ. polymorphism: interface I { void run(); void walk(); } cl…
さっき体重を測ってみたら 53.6 Kg でした♪ なんだか,あまりにも簡単すぎるんだが. と書いたら,知り合いの女の子に怒られた(´・ω・`)
polymorphismとduck typingの使い分けって何か明確な基準があるんだろうか. duck typingの方が後発だと思うので,当然,duck typingにはpolymorphismよりも優れた点があるんだと思う. その上で,polymorphismの方がいいパターンはどういうものなんだろう.…
(mixiからコピペ) あー そうそう だれか電脳コイル観てる? 面白いって噂は耳に,いや目に入るんだけど まだ観てないんだよね んじゃ,まあ,ナデシコが代表する空中に表示されるホログラムディスプレイが実用化されているような,そんな夢の世界を待望し…
体重が56kgを超えて始めたダイエット. 晩御飯食べた後だけど,さっき量ってみたら,54.8kgだった. これが安定してくれたらいいんだけどな. 最初の二日くらいは,ご飯を食べてもすぐおなかが空いていた. だけど,今は別になんともなくなった. 炭水化物を…
グレンラガン11話が泣けるほど熱い件について. 全体2回,クライマックスシーン5回は見ちゃったよw
研究室の後輩の真似して,低炭水化物ダイエットに挑戦中. 積極的に,ダイエットをしようと思ってダイエットするのって初めて! どうなるんだろー. とにかく,おなかが空くのが早い! 炭水化物を抜いたり制限したりするとこんなにおなか空くんだね. 食事の…
うちのプロバイダは「ぷらら」で,加入したのはもう10年近く前になる. そのときからずっと使っているこのメールアドレスは,今はもうSPAMだらけになってしまっている. 一日に100件くらいは当たり前. ぷららを経由する際にフィルタを通ってきているはずな…