私の経歴: 私はソフトウェア業界での仕事を探している最近の卒業生です。質問: 私は最近、ソフトウェア会社の 1 つとのインタビューで、銀行システムの UML ダイアグラムを描くように依頼されました。銀行システムには、預金と当座預金などの 2 つの口座があり、利息の計算方法が異なります。
私の解決策: Accountクラスを抽象クラスにしました。
次のように: public abstract class Account{ ...... } このクラスには、すべてのアカウント タイプに共通する、deposit() と draw() の 2 つのメソッドが定義されています。抽象メソッドである別のメソッド CalculateInterest() 。
アカウント クラスを拡張し、アカウント クラスを実装する 2 つのクラスの保存とチェック。例: public class Saving extends Account { ... }
銀行や銀行の場所などの UML を追加するために他のクラスを追加しましたが、これはインタビュアーを満足させず、彼はプロセス全体をインターフェイスとして実装することを望んでいましたが、私はそれをよく理解していませんでした。同じ情報を抽出しようとしましたが、インタビュアーを喜ばせませんでした。
ここにいる人々が共有できる情報は、デザインを理解し、さらにインタビューにアプローチする方法を理解するのに大いに役立ちます.
そこにはたくさんのデザインパターンがあることは知っていますが、彼が特定のインターフェースについて言及したとき、私はそれにアプローチする方法がわかりませんでした.