2009-05-28 16 views
0

私はオブジェクト指向の原則を維持しようと努めているが、それはすべてそのように工夫されているか不自然なようだ。Webアプリケーションを実際にオブジェクト指向にすることはできますか?

+0

詳細をご覧ください。 – DevinB

+2

または、実際の質問をすることをお勧めします。 – cgp

+1

私のコメントは、実際にはかなり曖昧だったことに気付きました。あなたのOOコードが何かの意味で工夫されているか不自然であるように見せてください。どのようなデザインパターンを使用しようとしていますか、どのようにあなたが失敗していますか? – DevinB

答えて

4

オブジェクトを状態情報を保持するための構造体と考える場合、オブジェクト指向の定義はWeb要求のステートレスな性質によってひどくなります。しかし、ステートレスオブジェクトはまだオブジェクトであり、Webアプリケーションはそのコンテキスト内でOO設計原則に従うことができます。

+0

はい、これは私の意味です。 – zsharp

5

私のアドバイスは、OOの原則についてあまりにも独断的ではありません。彼らはうまくいっていますが、OOの原則を維持しようと努力していると言っているときは、実際には適切でないときでも、すべてのクラスを作成しているということがあります。数学的背景を持つ人が不自然だと思うにもかかわらず、「x = 3」は割り当てに自然です。

既存のOO Webアプリケーションとデザインパターンを見てみることもできます。一般的なオブジェクト指向設計パターンは、Ruby on RailsとDjangoでサポートされている(ほぼ強制されている)MVCパターンです。 MVCを検索します。

+0

元のOO-MVCはGUIのみに意味がありますが、より一般的なWeb-MVCはOOよりもレイヤ化されています。 – Javier

+0

Javier、レイヤリングに関するこの点について詳しく説明できますか? – zsharp

+1

GUI-MVC(SmallTalkで人気があります)はモジュール化され、OOPでした。各モジュールには3つのオブジェクトが密接に結合されており、必要に応じて1つのモジュールがインスタンス化されています。 web-MVC、OTOHは、オブジェクトではなく、それぞれが、一部の部分(ストレージ、プレゼンテーション、コントロールフロー)へのより高いレベルのアクセスを提供するために、いくつかの側面を抽象化した3つのレイヤーです。彼らはより大きなサブシステムで構成されておらず、視覚的な要素を表すものではなく、アプリケーション(またはサブアプリケーション)全体を管理します。デザインレベルではなく、哲学的レベルでのみ関連している可能性があります。 – Javier

関連する問題