インターフェイスとコードの分離について多くの理論を読んだ後、コマンド/アクションパターンをどのように理解しているのだろうか?また、ここでは、Dlephiでコマンド/アクションモードに言及すると、TactionList、TactionManagerなどの一連のアクションコントロールがありますDelphiコントロールまたはイベントコールメソッドは、コマンド/アクションモードで設計されています。言い換えれば、コマンド/アクションモードを意図的に追求する必要はありませんが、一般的なエンコードに注意を払うには十分です。
私が理解している限り、TbuttonのOnClickイベントをご覧ください。
一般的に言えば、このイベントを定義したい場合は、コントロールをダブルクリックして、次のようにコードを書き込むだけです。
手順tform1.button1click(sender:tobject);
始める
...;
終わり;
一部の人々は、この関数が実際にインターフェイスを変更すると、非常に面倒なため、コードとインターフェイスの間の結合がより深刻であると考えるかもしれません。
しかし、私はそうは思わない、次の例を考えてみましょう:
別のButton2(またはMenuitemまたは別のコマンドイベント)を使用してこの関数を実装する場合は、Button2ポイントのオンクリックイベントをButton1Clickにするだけです。変更するときは、Button11Clickコードを維持するだけですか?
または、第二に、Button2を初期化するとき(Button2を動的に作成できるため)、Button2.onclick:= button1clickを作成するだけです。なぜこのいわゆるTACTIONを実装する必要があるのですか?
インターフェイスの制御について話しましょう。TACTIONオブジェクトを使用すると、インターフェイスオブジェクトでいくつかの簡単な操作を実行できますが、一般的には、機能の送信者パラメーターを呼び出すことで同じ作業を完了することもできます。すべての呼び出しbutton1clickのスペースが消え、私はこれを行うことができます:
送信者がtcontrolである場合
tcontrol(sender).visible:= false;
これは、taction.visibleを呼び出すことと違いはありません。