このビデオは概念であり、すぐに使用できるソフトウェアではありません。 改善するためにここに公開されています。
カットの下の転写。
みなさん、こんにちは!
今日は、G5についての短いプレゼンテーションをお見せします。 最初のステップは、アスペクト指向プログラミングです。
G5ではクラシカルではありません。見てみましょう。
以下は、いくつかのビジネスロジックを使用した簡単な方法です。 短くて理解しやすいです。
しかし、プログラムには通常、他の側面が含まれています
たとえば、ビジネス上の制限。
別の側面は、システムエラーのチェックです。
エラーハンドラーを忘れないでください。
デバッグのためにロガーが必要になる場合があります。
ドキュメントの側面も非常に重要です。
最適化の観点から、ソースコードがうんざりする可能性がありますが、本当に必要です。
また、ビジネスエラーの側面と単体テストのメタデータを追加しましょう。
そして今、あなたはアスペクトで少なくとも2つのことをすることができます。
まず、このボタンを使用して画面からアスペクトを非表示にできます。
次に、デバッグや最適化など、あらゆる側面のコンパイルを無効にすることができます。
セキュリティの側面など、独自の側面を定義できます。
ソースコードのテンプレートを使用して、1つまたは複数のメソッドまたは特別な構造の注釈を使用できます。
仕様言語:分散アプリケーション用に設計されています。
最初の部分は「エンティティ」です。 データコントラクトのようなものですが、より優れています。
これらを使用してビジネス構造を定義し、それを複数のアプリケーションのソースコードで使用できます。
TheraはG5のデータ型ではないため、あらゆるプログラミング言語で使用できます。
仕様言語はソースコードの一部ではありません。 それはコンパイラのメタデータに過ぎず、継承の代わりに注釈を使用しています。
クラスでパブリックまたはプライベートのフィールドとメソッドを定義できます。
メインフィールドのタイプを変更できますが、エンティティのタイプと互換性がなければなりません。
必要に応じて、メインフィールドをパブリックまたはプライベートに設定できます。
フィールドの名前を変更することもできます。
メインフィールドは削除できませんが、無視できます。
そしてもちろん、ビジネスの制限を変更することはできません。
エンティティは、共通の基本クラスなしで分散アプリケーションのデータ構造を制御するのに役立ちます。
アプリケーションはもはや関連しておらず、これはエンタープライズソリューションを作成するためのより信頼性の高い方法です。
仕様言語は設計の側面です。 非表示にしてコンパイルを無効にすることができます。
仕様言語の2番目の部分はAPIです。
WSDLまたは他の言語を使用してAPIを記述できます。 USDSの例を次に示します。
2つの構造と関数を定義し、このAPIのサーバーを作成します。
この場合、コンパイラはアノテーションを使用して、クラス「MyServer」の追加メソッドを作成します。
これは、サーバーアプリケーションを作成する非常に高速で簡単な方法です。
次の部分はライブラリの仕様です。
仕様言語を使用してアプリケーションのプラグインを作成する方法の例を紹介します。
ライブラリの説明、2つのクラスを定義しました。
これで、この仕様の実装を作成できます。
コンパイラは注釈を使用して、関数名をライブラリファイルに保存します。
注釈のないメソッドはライブラリに表示されません。
プラグインを動的にインポートします。
コンパイラは再びアノテーションを使用して、追加のメソッド(ビジネスクラスとファーストクラスのファブリック)を作成します。
同じ方法を使用して、標準のWindowsまたはLinuxの動的ライブラリをインポートできます。
第3章-ウィジェットを使用した宣言型プログラミング。
G5には多くのウィジェットがありますが、そのうち4つを紹介します。
最初のものはテキストウィジェットです。
内部で任意のシンボルを使用できます。
このテキストフィールドを翻訳可能として定義し、任意のテキストエンコードを設定できます。
次はソースコードウィジェットです。
テキストウィジェットに非常に似ていますが、構文の強調表示とマクロがあります。
マクロを使用してウィジェットのソースコードを変更し、実行時にコードをコンパイルして実行できます。
3番目の例は、ユーザーインターフェイス用のウィジェットです。
必要に応じてウィンドウを描画するだけで、ソースコードでその要素を使用できます。
G5には他の多くのウィジェットが含まれています:データベース用、正規表現用など。 G5用の新しいウィジェットを作成することもできます。
最後の例は、ウィジェット「レポート」です。
このウィジェットにはソースコードを含めることができます。
また、ファイル「main.code」の一部であるため、ウィジェットはファイルのローカル変数と関数を使用できます。
ウィジェットはそれ自体のデータを要求し、レポートのフォーマットを変更できます。
レポートは、PDF、HTML、またはその他の形式で保存できます。
そして、これが結果です。
第4章、言語指向プログラミング。
G5を使用して、独自のドメイン固有のプログラミング言語を作成できます。
Theraは、G5でのDSLの少なくとも2つの可能性です。
1つ目は、新しい言語セマンティクスを定義できることです。 それを見てみましょう。
これは内部に配列を持つクラスです。 このメソッドを使用して要素の値を設定できます。
しかし、それは良くありません。 打者の方法は、アクセス演算子を使用しています。
キーワード「Semantics」を使用して、この狭窄を定義します。
最初の部分はコードテンプレートで、2番目の部分は実装です。
私は行のみのために書いた、それは今動作します。
もっと複雑な構造はどうですか?
たとえば、このスタイルのサイクル。
また、テンプレートとその実装を定義しています。 7行で動作します。
もう1つの便利なことは、物理変数です。
定義して、関数やメソッドで使用できます。
複数の変数とそれらの間の関係を定義することもできます。
その後、値は正しく変換されます。
物理変数とG5タイプ間の変換も可能です。
コンパイラは、すべての誤った変換を制御します。
さて、新しいセマンティクスとウィジェットを作成し、物理変数を使用すると、ドメイン固有の強力な言語が得られます。
今日は以上です。
このプレゼンテーションが気に入ったら、ビデオを友達と共有してください。
質問に答える準備ができています。このメールアドレスでご連絡ください。
ご清聴ありがとうございました。