2025年6月29日日曜日

REFACTORING OBJECT-ORIENTED FRAMEWORKS

 公開されている

REFACTORING OBJECT-ORIENTED FRAMEWORKS

のキモ部分を読んで勉強してみたいと思います。


始めに

問題

設計は困難な作業である。特に再利用可能なソフトウェアの設計は困難である。

再利用可能なソフトウェアは、普通、多くのデザインのイテレーションの結果である。

デザインのイテレーションは、稼働後のソフトウェアにも発生する。

ソフトウェアが変更しやすければ、デザインのイテレーションも容易になり、ソフトウェアの再利用もより進む。

しかし、これに対しての研究はなく、オブジェクト指向ソフトウェアは、変更しやすいということいが信じられている。

サブクラスの追加や既存クラスへの新しいオペレーションの追加では、オリジナルのソフトウェアへの変更は発生しない。

しかし、オブジェクト指向のソフトウェアの変更は、一般的に考えられるよりも、難しい。

オブジェクト指向のシステムの変更では、既存のクラスの中の変更や、クラス間の関係の変更も発生する。

これらの変更では、変数やメソッドのクラス間での移動、クラスの分割などが発生する。

構造の変化が発生すれば、プログラムの他の部分へも影響が及ぶことがある。

影響を人手で、追跡し変更することは、時間を要し、また難しいく、エラーを生みやすい。

再利用性というオブジェクト指向のメリットを得るためには、構造の変更に対する自動化のサポートが必要となる。







0 件のコメント:

コメントを投稿

アルゴリズムの考え方

総当たりアルゴリズム すべての場合をためし、解を求める。 近似アルゴリズム  ・正解に近い解を探す ・正解との誤差がある範囲におさまると保証されているものを  精度保証付アルゴリズムという。 ・精度の保証のないアルゴリズムを、発見的手法(ヒューリスティック)    という。