とても読みやすい記事です!
このテンプレートはテスターにとって理想的だと思います - EAのロジックを変更したり、新しい機能を追加したりするのが簡単です。
例えば、実際の取引で注文をクローズ/オープンする際のエラーなど。
このテンプレートはとてもシンプルでわかりやすいからいい。そして、本当に生活が楽になる。一般的に、ツール全体は別々のレンガに分解でき、合理的、論理的に分解できる。そしてコードの再利用、デバッグ、エラー修正、バージョンサポート。
書いているときはエラー処理なんて考えていなかったよ、ありがとう。そして本質的には、エラーが発生したコンポーネントで処理すべきだと思う。例えば、オーダーの設定がViewに参照されるのであれば、そこで処理されるべきだと思います。しかし、それを非同期で行う場合にも問題がある。Controllerのイベントハンドラでは、少し窮屈になります。
ご意見ありがとうございました。)
そして基本的には、それらが発生したコンポーネントで処理されるべきだと思う。
しかし問題は、エラーが発生し、それ以降のコード(以下にあるコード)を実行しない(abort/またはrollback)ことが要求された場合にどうするかです。
あなたは例外を説明しているのです)
例外って何だ?- 例外はMQLには存在しないし、開発者の誰かが「プログラムの書き方が 悪い、必要ない」と書いたのかもしれない。まあ、それは正確ではない!))))
SZY: テスターならMVCで書くべきだし、本当のテスターなら、重要なセクションを含むコードの一部をOnTimer()や...に移すべきでしょう。そしてまた、一般的なプログラミング・テンプレート(メソッド)を使った単純で読みやすいコードの代わりに、私たちは......を得るでしょう。おそらくMQLスタイルのプログラムになる ))))
原理的にはひどいものだ。結局のところ、MVCはOOPなのだが、コードの簡素化を口実に、迷路のようなものを作ってしまったのだ。少なくとも、init(別名コントローラー)をモデルとビューに放り込むことはできたはずだ:
int OnInit() { init.Initialize(smb); view.Initialize(&init); // model.Initialize(&init); return INIT_SUCCEEDED; }グローバル・オブジェクトを他人のクラスで、他人のヘッダーファイルで使うなんて!
原理的にはひどいものだ。結局のところ、MVCはOOPなのだが、コードの簡素化を口実に、迷路に迷い込んでしまったのだ。結局のところ、MVCはOOPであり、コードの簡素化を口実に、私たちは迷路に迷い込んでしまったのだ:
他人のクラスで、他人のヘッダーファイルで、どうやってグローバルオブジェクトを使うんだ?最後まで読みましたか?私は最後にコンポーネント間の通信について書きました。そして、グローバル・オブジェクトへのアクセスについても。この場合、大多数の理解を得るために、私は提示された方法を許容範囲と考えます。そして、あなたが提案する方法は、グローバル・オブジェクトへの同じ無制限のアクセスを意味します。
MVC、MVP、MVVM hubr: https://habr.com/ru/post/215605/
hubrを信じるなら、この著者の言う通り、MVCではモデルはタスク以外何も知るべきではない(依存すべきではない)。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事「MVCデザインパターンとその可能なアプリケーション」はパブリッシュされました:
本稿では、人気高いMVCパターンと、MQLプログラムでの使用の可能性、長所、短所について説明します。アイデアは、既存コードをモデル、ビュー、コントローラの3つの別々のコンポーネントに分割することです。
このパターンはかなり昔(1978年)に登場しましたが、最初の記述はずっと後の1988年に登場しました。それ以来、テンプレートはさらに発展し、新しいアプローチを生み出しています。
本稿では、複雑さや追加機能のない「クラシックMVC」について考察します。アイデアは、既存コードをモデル、ビュー、コントローラの3つの別々のコンポーネントに分割することです。MVCパターンによれば、これら3つのコンポーネントは独立して開発および保守できます。各コンポーネントは、新しいバージョンの作成とエラーの修正を行う開発者の個別のグループによって開発できます。明らかに、プロジェクト全体の管理がはるかに簡単になり、他の人がコードを理解する手助けともなります。
各コンポーネントを見てみましょう。
MVCパターンの個々のコンポーネント間の関係は、次のように視覚的に表すことができます。
作者: Andrei Novichkov