Cプログラムのオブジェクト指向ベストプラクティス[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 「オブジェクト指向の砂糖が本当に必要な場合は、C ++を使用してください」 -これを聞いたとき、友人の1人からすぐに返事をもらいました。ここでは2つのことが間違っていることを知っています。最初のOOは「砂糖」ではありません。2番目に、C ++はCを吸収していません。 サーバーをC(Pythonのフロントエンド)で記述する必要があるため、大規模なCプログラムを管理するためのより良い方法を模索しています。 オブジェクトの観点から大規模なシステムをモデリングし、オブジェクトの相互作用により、システムの管理、保守、拡張がより容易になります。しかし、このモデルをオブジェクト(およびそのすべて)を持たないCに変換しようとすると、いくつかの重要な決定に挑戦することになります。 システムに必要なオブジェクト指向の抽象化を提供するカスタムライブラリを作成しますか?オブジェクト、カプセル化、継承、ポリモーフィズム、例外、pub / sub(イベント/シグナル)、名前空間、イントロスペクションなど(GObjectやCOSなど)。 または、基本的なC構造(structおよび関数)を使用して、すべてのオブジェクトクラス(およびその他の抽象化)をアドホックな方法で近似します。(たとえば、SOに関するこの質問に対する回答の一部) 最初のアプローチは、モデル全体をCで実装するための構造化された方法を提供しますが、維持する必要がある複雑さの層も追加します。(複雑さは、最初にオブジェクトを使用することで軽減したかったことを思い出してください)。 2番目のアプローチについては知りません。また、あなたが必要とする可能性のあるすべての抽象化を近似するのにどれほど効果的かはわかりません。 したがって、私の簡単な質問は次のとおりです。Cでオブジェクト指向設計を実現するためのベストプラクティスは何ですか。それを行う方法を求めているのではないことに注意してください。これとこの質問はそれについて話す、とさえあります本は、この上。私がもっと興味を持っているのは、これを解決するときに現れる実際の問題に対処する現実的なアドバイス/例です。 注:C ++を支持してCを使用すべきではない理由をアドバイスしないでください。私たちはその段階を十分に過ぎました。