問題タブ [object-oriented-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
34654 参照

javascript - MVCパターンの「HelloWorld」

ある会社のインタビューで、私はこの質問をされました。

どのデザインパターンを知っていますか...それから、MVCデザインパターンに基づいた最も単純な「HelloWorld」アプリケーションを作成するように言われました。

JavaScriptプログラムを思いついた

後で私はアラートがビューであると言われました。私が知っているMVCの基本的な概念は、モデルの変更がViewに報告されることです。そして、メソッドを呼び出すためのコントローラーが間にあります。

私のアプローチを修正するか、helloworldMVCアプリケーションの代替ソリューションを考え出すことができますか。また、MVCの微妙な側面についても説明します。

ありがとう。

0 投票する
1 に答える
308 参照

php - よく知られている火星探査車アプリケーションのクラス構造を教えてください

多くの人がよく知っている「火星探査車の問題」について聞いたことがあると思いますが、そうでない場合は、ここをチェックしてくださいhttp://thefundoowriter.com/2009/10/01/the-mars-rover-problem/私はこれに取り組んでいますが、私はクラスとオブジェクトの専門家ではありません。手続き型phpでこのプログラムを正常に動作させましたが、クラス、オブジェクトベースのソリューションについて混乱しています。

どのクラスとメソッドが必要ですか?

0 投票する
2 に答える
4761 参照

oop - オブジェクト指向の分析と設計

オブジェクト指向の分析と設計に関するビデオ チュートリアル/トレーニング、または講義を探しています。UML とユースケースの説明は不要です。ソフトウェアのライフサイクル全体を説明してほしい。

私はすでにHead First: Object Oriented Analysis & Designを読みました

この本には、実際に私が探していたすべてが含まれていました。

要件の収集、ユースケース図、クラス図はすべて実際のプロジェクトに適用されます。

これらすべてのトピックが実際の完全なプロジェクトについて実際に説明されているようなものを探しています。

0 投票する
6 に答える
9170 参照

java - 「instanceof」演算子のこの使用は悪い設計と見なされますか?

私のプロジェクトの 1 つに、RecordType の抽象クラスから継承する 2 つの「データ転送オブジェクト」RecordType1 と RecordType2 があります。

「プロセス」メソッド内で、両方の RecordType オブジェクトを同じ RecordProcessor クラスで処理したいと考えています。私が最初に考えたのは、次のように 2 つの特定のプロセス メソッドに委譲する汎用プロセス メソッドを作成することでした。

Scott Meyers が効果的な C++で次のように書いていることを読みました。

「『オブジェクトがタイプ T1 の場合は何かを実行し、タイプ T2 の場合は別のことを実行する』という形式のコードを書いていることに気付いたときはいつでも、自分を叩いてください。」

彼が正しければ、明らかに私は平手打ちをしているはずです。これがどのように悪い設計であるかは実際にはわかりません (もちろん、誰かが RecordType をサブクラス化し、RecordType3 を処理する一般的な「Process」メソッドに別の行を追加せずに RecordType3 を追加して、NPE を作成しない限り)、および私が考えることができる代替案特定の処理ロジックを RecordType クラス自体の中に置く必要がありますが、理論的にはこれらのレコードに対して実行したいさまざまな種類の処理が存在する可能性があるため、これはあまり意味がありません。

これが悪い設計と見なされる理由を誰かが説明し、これらのレコードを処理する責任を「処理」クラスに与える何らかの代替手段を提供できますか?

アップデート:

  • return nullに変更throw new IllegalArgumentException(record);
  • 簡単に説明すると、単純な RecordType.process() メソッドでは不十分な理由が 3 つあります。まず、処理が RecordType から離れすぎているため、RecordType サブクラスで独自のメソッドを作成する価値がありません。また、理論的にはさまざまなプロセッサで実行できるさまざまな種類の処理が多数あります。最後に、RecordType は、最小限の状態変更メソッドが定義された単純な DTO クラスになるように設計されています。
0 投票する
1 に答える
235 参照

oop - OOA でのクラス設計

OOを適用して、試験を受けて結果を得るプロセスを設計したいと考えています。次の 2 つの異なる意見があります。

  1. アンケートとアルゴリズムの 2 つのオブジェクトがあります。アンケートは質問と最終結果を保存し、アルゴリズムは結果を計算するためのものです。

  2. アンケート、アルゴリズム、結果の 3 つのオブジェクトがあり、ここでは、結果を格納するためだけの 1 つのオブジェクトに結果を分離しています。

私の質問は、どちらがより優れた OO 設計ですか? または、この場合の正しい OO 設計は何ですか?

ユーザーの回答を記録したい場合、アンケートとアルゴリズムを結び付けた「回答」としてオブジェクトを作成する必要がありますか?

0 投票する
2 に答える
2725 参照

java - 基本的な Java - オブジェクト配列に値を渡す

name と age の 2 つの属性を持つ配列オブジェクト stemp に値を渡そうとしています。配列に値を入力する正しい構文は何ですか? 上記の構文は正しいですか?

0 投票する
1 に答える
123 参照

php - 子クラスに親クラスのメソッドを強制的に使用させる方法

すべての子クラスで使用する必要があるメソッドを使用するクラスがあります。すべての子クラスにそのメソッドを使用させるにはどうすればよいですか? インターフェイスをスローしますか?

編集:私はphpを使用しています。つまり、toLower() というメソッドがあり、すべての列が大文字のデータベースがあり、データベースからオブジェクトをフェッチするたびに toLower() メソッドを使用してオブジェクトのプロパティを小文字にする必要があります。クライアントユーザーが結果を取得するたびにそのメソッドを使用するように強制できるようにしたいと考えています。

0 投票する
2 に答える
412 参照

c# - 多層メッセージオブジェクトの基本クラス/インターフェースを因数分解する最良の方法は?

C#、ASP.NET、MVC、WCF を使用する場合、非公開のビジネス ロジック サービス レイヤーがあり、セキュリティやその他の理由から、同じ操作を公開しているゲートウェイまたはファサード レイヤーがあると想定します。

したがって、パブリック/公開サービス層は呼び出し元ユーザーを表す GUID を処理する必要があり、プライベート/内部サービス層はより高度な認証を処理する必要があることを除いて、本質的に同一のデータ転送 (要求/応答) オブジェクトを持つ 2 つの層があります。チケット。この認証チケットは、公開層に公開しないでください。

プライベート AuthenticationTicket をパブリック層から保護するが、プライベート DTO とパブリック DTO の間の差別化プロパティの切り取りと貼り付けを最小限に抑えるような方法で、基本クラスを派生させるか、ここでインターフェイスを利用する効率的な方法はありますか?

0 投票する
4 に答える
1523 参照

php - 私の認証システムをシングルトンクラスにすることの賛否両論

私は自分のアプリケーションのOOP設計に関してジレンマに直面しています。authクラスをシングルトンにする必要がありますか。kohanaフレームワークとzendフレームワークは、認証クラスをシングルトンとして使用していることがわかります。認証クラスをシングルトンにすることの欠点は何ですか?長所は何ですか?また、私が構築しているアプリケーションはエンタープライズアプリケーションであり、拡張する必要があります。シングルトンの場合、認証システムも拡張できますか?

0 投票する
2 に答える
276 参照

java - Javaでのprivateキーワードの意味は何ですか?

次のコードは完全に機能し、実行されます。

現在、オブジェクト指向の設計モデルによれば、プライベートインスタンスメンバーはオブジェクト参照を介してアクセスされるべきではありません(これはここではc1.realによって行われています)。

したがって、その意味では、コンパイラエラーがあるはずです。しかし、それは反対しません。

今私の理解によれば、それは許可されています

  1. c1.realコードは、プライベートクラスComplexクラス自体の本体に記述されています。

  2. Complexクラスの開発者は、オブジェクト参照を介してアクセスするときに、すべてのインスタンスメンバーにアクセスできる必要があります。これは、開発者がサードパーティとは異なり、自分が何をしているかをよく知っているためです。そのため、ここではオブジェクト指向モデルモデルを採用していません。

c1.realコードがここで許可されている理由について誰かがより良い説明を提案できますか?