アプリ版:「スタンプのみでお礼する」機能のリリースについて

C#でプログラミングをしているのですが、オブジェクト指向を一切使わずに作っています。

作っていくにしたがってツールが重くなってきたのですが、オブジェクト指向を使ってい書いたほうがアプリケーションは軽くなりますか?

A 回答 (3件)

オブジェクト指向と、速度との間に、直接の関係はありません。


単に、効率の悪いプログラムになっているだけでしょう。

オブジェクト指向を活用して効率よく書けるかもしれませんし、もっと根本的に考えなおす必要があるかもしれません。
    • good
    • 0

描画のやり方がまずいとか、スレッドにすべき部分をしていないとかじゃないでしょうか。


オブジェクト指向と速度には直接の関係はありません。
ただ、ちゃんとオブジェクト指向できる人は、大抵プログラムの設計や最適化もちゃんと出来ると思います。
    • good
    • 0

>>作っていくにしたがってツールが重くなってきたのですが、オブジェクト指向を使ってい書いたほうがアプリケーションは軽くなりますか?



オブジェクト指向は、大規模・複雑なシステムで実力を発揮します。
プログラムが大きくなると、「起動が遅い=重い」になりがちですが、オブジェクト指向の考え方でプログラム設計をやり直し、スクラッチ&ビルドをすれば、モジュールがいくらか小さくなり、軽くなる可能性があると思います。もちろん無駄の削除で効率もアップする可能性もありますね。
また、初期処理が完全に終わらない段階で画面表示をすれば、見掛け上、起動が軽くなったように見えますよ。

ただし、もし現在でも無駄が無いコードであって「軽さ=処理の速さ」を求めているなら、アルゴリズムの見直しなども同時に考えたほうがいいと思います。

それから、C#の3.0以降は、ジェネリックなどに加えて、ラムダ式やLINQが使えるようになっていますので、それらを使いこなせば、さらに軽くなる可能性があると思います。

なお、ラムダ式が導入された3.0以降は、オブジェクト指向の基本ルールを破ることが可能になり、それを利用したコーディングはメリット大のようです。また、書籍を読むと、マイクロソフトでは、メタ・プログラミングが流行っているようにみえます。
こういった手法を使うことで、実行速度が速くなる保証はありませんが、コードの柔軟性が増大し、コーディング量は減ると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!