私はcrmプロジェクトを開発するためにodoo9.0を使用しています。 現在、私はすべてのロジックコードをモデルに入れていますが、ビジネスロジックは複雑です。例えば、モデルAでは、モデルB、C、Dからデータを読み込み、結果データをモデルEに書き込む必要があります。私の問題は、モデルAがますます大きくなり、扱いにくくなっていることです。私はモデルを小さな部分に分割したい。 誰かに私に助言を与えることができますか?odooアドオンプロジェクトの構造を最適化する方法は?
1
A
答えて
1
非常に一般的な質問です。
基本的にはソフトウェアデザイン原則と デザインパターンです。それは私たちを助ける
(複数回使用)各ロジック/コードのためのメソッドを作成
:ここに私たちのチームで
は、私たちはいつものようにいくつかの基本的なものに従うことをしてみてください可読性とモジュール性 を増やすには、それはまた、コード再利用性に助けていますすべての方法を適切なモデルに入れてください。
ではなく、オブジェクトがメソッドで使用される最もconcerting /使用目的であるあるモデルでだけの場所の方法、の、あらゆる場所での方法を広めないでください懸念 の分離を管理しよう。
では、ソートだけ
は非常に基本的な例を見てみましょうエンジニアリング
可能設計原理とソフトウェアの デザインパターンな限り従います我々は2つのモデルのコール学生を持っている場合コース。 今私は、モジュールの概念に従った後、私は
get_student_details
のようないくつかのメソッドを作成しています。save_student_details
。get_course_details
。save_course_details
今、明らかに私は学生のモデルでトップ2の方法を配置し、コースのモデルに2を休まます。
また、私はそれはあなたを助けることを願っていOdoo Guideline
に従ってください。
関連する問題
- 1. Python最適化データ構造
- 2. テーブル構造を最適化するMySQL
- 3. ヒープソープのヒープ構造の最適化
- 4. ゴーランのデータ構造/ワードアライメントパディングの最適化
- 5. LLVM構造体リターンの最適化
- 6. 4状態データ構造の最適化
- 7. symfony 2のアプリケーションを構造的に最適にする方法
- 8. マップデータ構造のマップを最適化する
- 9. Webサービスを呼び出す構造化コードに最適な方法
- 10. 最適なデータベース構造
- 11. pigzを最適化する方法は?
- 12. ラーベールキューを最適化する方法は?
- 13. 最適化は、ウェブサイトとデータベース構造について
- 14. 構造体の構造体の配列を初期化する方法は?
- 15. Gitでさまざまなリリースストリームを構造化する適切な方法は?
- 16. 最適化/設計テーブルの構造との関係
- 17. mysql構造の最適化とスケーリング大規模なメーリンググループのクエリ
- 18. Javaコントロール構造の自動コンパイラ最適化?
- 19. WPFアプリケーションの非ビジュアルメソッドを構造化する最も良い方法は?
- 20. odoo開発とカスタマイズ(構造とフロー)を学習する最善の方法はどれですか
- 21. C構造体、構造体へのポインタ、適切な初期化
- 22. 構文ハイライダーの最適化
- 23. ゴランの次の構造体の構造体を初期化する方法
- 24. 構造サイズが非常に大きく、最適化が必要
- 25. マップのツリーの最適なデータ構造
- 26. MYSQLに最適な構造ですか?
- 27. Ghostscriptを最適化する方法
- 28. メニューナビゲーションを最適化する方法
- 29. mach_msg_trapを最適化する方法
- 30. Android:ListViewを最適化する方法
お返事ありがとうございますが、私があなたが言及した原則に従っていると思いますが、モデルAはまだかなり大きいです。モデルAに関連するビューには10以上のボタンがあり、ボタンごとに1つのメソッドが必要なため、モデルAには20以上のメソッドがあり、modelA.pyは大きなファイルになります。モデルA_calcとモデルA_writeを作成するなど、モデルAをモデルAの内側で使うことができます。 –
はい、同じモデルの複数のファイルを作成することができます.model import MainModelクラスModelA(MainModel):#あなたは論理 – prakash
ですが、init.py内に新しいファイルエントリを作成することを忘れないでください – prakash