5

小切手帳に使用するAccessデータベースがあり(かなり単純なVBAが背後にあります)、SQLバックエンドを備えたスタンドアロンプ​​ログラムとして書き直したいと思います。C ++、Java、Pythonのいずれかを使用することを考えています。

始める前は、「オブジェクト指向で」と思っていたので、オブジェクト指向で書くと思っていましたが(オブジェクト指向ロジッククラスとC ++クラスを受講したため)、自分にしかできないことがわかりました。手続き型として視覚化します(ただし、Accessでdbがどのように機能するかを考えるのに頭がおかしいためかもしれません)。どうすればいいですか?私は理にかなっていますか、それとも概念を理解していないように見えますか?

ご協力いただきありがとうございます。

4

7 に答える 7

5

OOをお勧めします。手続き型プログラミングよりも難しくはなく、実際には適切なツールを使用して保守する方が簡単です。 Delphiが私の選択です。優れたDBプログラミングのサポート、ビジュアルデザイナー、強く型付けされた、豊富なコンポーネントが利用可能です。 Delphiで書かれた素晴らしいアプリケーションはたくさんあります。しばしば過小評価されて、それが忠実な支持を得ている多くの理由があります。

デルファイ嫌いの人がトマトでいっぱいになるので、今度はアヒルになります。

于 2009-07-18T16:04:32.947 に答える
1

まあ、OOはやり過ぎかもしれませんが、それは優れた実践です。コードモンキーなら誰でも手続き型コードを書くことができます。あらゆる場合に抵抗が最も少ないパスであるため、ほとんどの人は、あまり効果のない1回限りのアプリに使用します。ただし、OOの使用経験を積むために書いている場合は、そのように考えるのが最善です。金融取引を管理するオブジェクトを設計することから始めることができます。次に、DBと対話する方法も必要になります。おそらく、LINQ(またはJAVAに相当するもの)を学習できるEntity Frameworkを使用して、トランザクションオブジェクトからデータベース呼び出しを抽象化するDBレイヤーを作成できます。これはすべて、あなたが楽しみと練習のためにこれをしていることを前提としています。

于 2009-07-18T16:01:29.707 に答える
0

私の意見では、OOと手続き的なものに集中するべきではありません。最初に手続き型に移行する可能性がある場合は、手続き型に移行します。それはあなたが始めるためにあなたがすることができる最も簡単なことです。一方、OOのことは、YAGNI(You Ai n't Gonna Need It)と同じくらい適格かもしれません。

ただし、テスト、単体テスト、統合テストを作成する必要があります。そして、最初にテストを書くように努力する必要があります。このように、手続き型アプリケーションから始めたとしても、後でそれを本格的なOOアプリケーションにリファクタリングすることができます。ただし、オブジェクトが必要な場合のみ。これらのテストは、アプリケーション内のコードを移動する際のセーフティネットになります。

アプリケーションを最初からオブジェクトに考えようとすると、クラスの階層とアーキテクチャーにとらわれてしまう可能性があります。

私は天才ではないので間違っているかもしれませんが、私の経験では、単純な関数から始めて、それらをオブジェクトまたはモジュールにグループ化することを考える方が、次のように言うよりも優れています。このオブジェクトはパターンXを実装しているので、この方法でインターフェイスYを実装Zから切り離します。後で、ドメインモデルが弱いことに気付くかもしれません。進化的な設計パスを取り、小さなビルディングブロックから始めます。

于 2009-07-18T16:25:20.563 に答える
0

ooは、単純な小切手帳アプリにはやり過ぎのようです。すべての金融口座を管理するための何かのような大規模な何かを試してみてください。このようにアカウントクラスを設計することは理にかなっています

于 2009-07-18T15:55:21.903 に答える
0

まあそれはあなたのモチベーションに依存します。小切手帳アプリケーションをできるだけ早く必要とする場合は、手続き型コードを作成するだけです。あなた以外の誰も違いを知りません。このアプリケーションを使用して、プログラマーとしての自分自身を向上させたい場合。OOで書く方法を学ぶために時間をかけてください。

于 2009-07-18T16:12:24.133 に答える
0

私はPythonを使います:コンパイルせず、動的型付けを使用します(必要に応じて厳密型付けも使用できます)。さらに、オープンソースコミュニティには大きな支持があり、優れたサポート、ツール、ドキュメントを無料で提供しています。

オブジェクト指向vs.手続き型(あなたが言及したこれらすべての言語は手続き型で書くことができます)、つまり、すべてを行う1つの大きなクラス/メソッドですが、すぐにフォローしたくなるでしょう。 DRYの原則(自分自身を繰り返さないでください)と、1つの特定のことをうまく行ういくつかのプライベートメソッドから始めます。それから、似たようなものを別々のクラスにグループ化し、そこからそれらのクラスを抽象化する必要があります...私がここに行くところを見てください。

于 2009-07-18T16:15:01.677 に答える
0

拡張できるクイックアプリをお探しの場合は、動的データをご覧ください。

于 2009-07-19T12:55:53.573 に答える