何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 591
  • 記事 - 18
  • コメント - 2182
  • トラックバック - 183
ニュース
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2009
サイト内検索
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

第7回 リソースを使ったマルチ・リンガルなVBアプリケーション「連載:VB 6ユーザーのための これならマスターできるVB 2005超入門」より:

まぁ、いちゃもんレベルかもしれませんが。

3ページ目。なんで Public ReadOnly Property English() As Boolean なんだろう?これ、「英語に設定されているか?」を取り出すんでしょ?だったら IsEnglish じゃない?

というか。。。たとえば、「日本語」「英語」「中国語」を分けるとき、これを真似したら、IsJapanese, IsEnglish, IsChinese を実装するんですか?

し か も、とってきたものを、呼び出した側が、判断するんですか?

だったら Public Function GetCultureString() As String の方が良くない?これだったら、対応する言語が増えても、ダイアログを直すだけだよ?

' 元のコードだと、こんな風
Private Sub showOption(...) Handles btnOption.Click
  dlgOption.Location = New Point(...)
  If dlgOption.ShowDialog() = Windows.Forms.DialogResult.OK Then
    ' 対応言語が増えると、ここを増やさなければならない
    If dlgOption.English = True Then
      My.Application.ChangeUICulture("en")
    Else If dlgOption.Chinese = True Then
      My.Application.ChangeUICulture("zn")
    Else ' しかも、直し忘れのバグを仕込む可能性!!
      ' 英語でも中国語でもない。でも、フランス語の可能性は?!
      My.Application.ChangeUICulture("")
    End If
    lblMessage.Text = My.Resources.Msg1
    End If
End Sub
' こうしたらすっきり
Private Sub showOption(...) Handles btnOption.Click
  dlgOption.Location = New Point(...)
  If dlgOption.ShowDialog() = DialogResult.OK Then
    ' 対応言語が増えようが、こうしたら変更の必要なし
    ' 万が一、カルチャ文字列が変わっても、直すのは一カ所
    My.Application.ChangeUICulture(dlgOption.GetCultureString())
    lblMessage.Text = My.Resources.Msg1
  End If
End Sub

ついでに、オブジェクト指向では、こういう「クラスの切り分け」が必要なんですね。修正が入りやすそうなところを見つけて、それに対する修正ができるだけ少ない範囲ですむように考える。これも、「ちょっと気の利いた機能」です。

投稿日時 : 2007年3月21日 0:32
コメント
  • # re: やっぱり、注文をつけたくなる...
    ひろえむ
    Posted @ 2007/03/22 7:17
    やはり、あれなんでしょうかね。

    オブジェクト指向を分かっていないのでは・・・というやつでしょうか(^^;

    オブジェクト指向機能がわかっただけで、オブジェクト指向がわかってしまった気になってしまったという感じだったりして・・・。

    この連載を見てるとそんな気になってしょうがないのは私だけでしょうか(^^;

    ま、かくいう私も「んじゃ、お前がわかってるんか!」と言われるとアレなんですが(^^;;;
  • # re: やっぱり、注文をつけたくなる...
    Jitta
    Posted @ 2007/03/23 6:58
    ひろえむさん、コメントありがとうございます。

    ん、VB6組のためにわざとかなぁ?と思ったりもする。かなり著書の多いかたなんですけどねぇ。
    しかし、ライターだとおっしゃっているので、机上の知識だけだと、厳しいものがあるとも思う。
タイトル  
名前  
Url
コメント