タグ

読むに関するNobuhisaのブックマーク (42)

  • Equals() と演算子 == のオーバーロードに関するガイドライン (C# プログラミング ガイド)

    更新 : 2007 年 11 月 C# には、2 種類の等価があります。1 つは参照の等価で、もう 1 つは値の等価です。値が等価であるとは、一般的に理解されている意味での等価で、2 つのオブジェクトが同じ値を含んでいることを意味します。たとえば、2 という値を持つ 2 つの整数は値が等価です。一方、参照が等価であるとは、比較する 2 つのオブジェクトが存在しないことを意味します。この場合は、オブジェクトの代わりに、共に同じオブジェクトを参照する 2 つのオブジェクト参照が存在します。次の例に示すように、これは簡単な代入によって生じます。 System.Object a = new System.Object(); System.Object b = a; System.Object.ReferenceEquals(a, b); //returns true このコードでは、オブジェクトは

    Equals() と演算子 == のオーバーロードに関するガイドライン (C# プログラミング ガイド)
  • ソフトウェア工学とは何か

    ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W.