カプセル化はブラックボックスですか?

毎日、見知らぬ人と私のクラスとライブラリを使用する問題が心配です。 しばらくして、コード内でクラスの動作を再定義する十分な機会がなく、これが干渉する場合、さらに悪いことに、外部ライブラリが指定されたタスクを満たさない場合、このライブラリに書かれたコードを修正する場所と方法を知っていても再定義の可能性なし。 この記事では、カプセル化のアプローチを説明します。これにより、自転車の作成に時間をかけすぎず、ブラックボックスを使用して新しいボックスを作成するプログラマーの労力を節約できます。



カプセル化は単なるブラックボックスではなく芸術です。 問題があります-修正、再定義、変更などができないコード それが使用されている同じプロジェクトで。 すべてを構成、再定義、および変更する必要があります。 正しい状況で呼ばれ、世界を救う普遍的な兵士であり、新しい兵士の誕生の期待ではない。 そして解決策は、ライブラリのソースコードを修正しないことです。 これは、ソースコードが単純に不足しているため、時間がかかるプロセスです。 これらの言葉は簡単に言うことができますが、プログラミング言語での意味とそれらに対応する方法を理解するのは困難です。



カプセル化の問題があると言いたいのですが、解決中です。 ブラックボックスは、目標を達成するために使用される完成品、および目標を達成するためにフォームが作成される素材として見ることができます。 描画にペイントを使用し、新しいペイントを作成するアーティストの例を挙げることができます。 将来の使用のためにペイントを構成します。 しかし、塗料の代わりにプラスチシンを使用してアーティストに贈ると、プラスチシンを混合しても望ましい色のプラスチシンを得ることができません(面倒なプロセス)。 この場合、粘土は塗料よりも劣ります。



したがって、ブラックボックスの使用は2つのカテゴリに分類できます。

そして、私は、「完成品」ではなく、仲介者を創造するという意見を表明します。

外部ライブラリの場合、「完成品」を正当化することはできますが、制限が大きすぎるとプログラマーは悪魔的な道を歩むことになります。 仲介者の目的である、便利な隠しボックスは、もちろん、実装の複雑さからの抽象化を支援するだけでなく、可能な限り構成して、その使用を拡大できるようにすることです。



再利用コード用のライブラリ、ブラックボックスを作成する際に考慮すべき原則:

この概念はOOSILAと呼ばれます。



PS:トピックが興味深い場合は、OOSILAの原則の使用例を準備します。



更新:非表示ボックス=>ブラックボックス



All Articles