コード生成はどこで使用されますか?

前の記事へのコメントの多くの人々が、コード生成は間違った手法であるという意見を持っているという事実に感銘を受けました。 現在どのように使用されているかの例を見てみましょう。



ワールドワイドウェブ



コード生成はインターネットで積極的に使用されています。 HTMLは現在、Webサイトに情報を提供するための標準です。 しかし、サイトに静的なHTMLページをレイアウトすると、現代の要件を満たす動的なサイトが得られないため、サイト開発者はソフトウェア(サイトエンジン)を作成します。その目的は、ユーザーのブラウザーのHTMLコードを生成することです。 この困難なタスクでプログラマを支援するシステムの例:PHP、Perl、ASP.NET、Java、RubyOnRailsなど。



さらに、サーバーテクノロジがHTMLコードを生成するだけでなく、クライアントスクリプト(特にJavaScript)でも同じことがよく行われます。



開発環境のビジュアルエディター



Microsoft Visual Basicからは、Windowsフォームのビジュアルエディターが登場しました。 ボタンをフォームに転送するだけで十分で、思いやりのあるジェネレーターがそのプロパティと場所を特別なファイルに記録します。 最初に、コードは特別なマークアップ言語(Visual Basic、Delphi)で生成されましたが、プログラマーが書いたのと同じ言語でフォームを生成し始めました。 後に、同じアプローチがWebアプリケーションのプログラミングに適用され始めました。 コードジェネレーターであるビジュアルエディターのない深刻なプログラミング環境を想像することは困難です。



Java、.NET、および同様のプラットフォーム



Javaや.NETなどのプラットフォームは、高レベルコードに基づいて低レベルコードを生成します。 .NETでは、この手法は多言語に積極的に使用されています。 多くの高水準言語は1つの低水準言語に生成されます。これは間違いなく便利です。 さらに、WWWの状況はやや似ています。多くの異なる言語がHTMLを生成します。 そして結果は似ています:クロスプラットフォーム。



MVCフレームワーク



最近、MVC(Model-View-Controller)フレームワークが非常に一般的になりました。 これらのフレームワークの統合コンポーネントは、コードジェネレータースクリプトです。 データベースに基づいてモデルを生成するスクリプトもあれば、モデルに基づいてコントローラーとビューを生成するスクリプトなどもあります。 コード生成がなければ、そのようなフレームワークでの作業はかなり日常的です。 MVCフレームワークの例:RubyOnRails、CakePHP。



LINQ



LINQ(Language Integrated Query)は、C#バージョン3で登場しました。 これはC#に非常に便利な追加機能であり、プログラマーを日常的な作業から解放します。 一般的なアプローチ(LinqToObject)は匿名メソッドとクラスの生成を使用し、LinqToSqlアプローチはMicrosoft SQL ServerのSQLコードの生成を使用します。 Oracleおよび他の多くのデータソースのLINQ実装が準備されています。 アイデアは素晴らしいです-特定のデータ型の実装は、1つの高レベル言語から生成されます。



簡単な使用例を示します。



var onlineUsers = DB.Usersのユーザー(user.LastActivity> DateTime.Now.AddMinutes(-5)orderby user.LastActivity降順の選択ユーザー。




コードスミス



CodeSmithは、プロフェッショナルなテンプレートベースのコードジェネレーターです。 作業の結果は、特定のプログラミング言語に関係していません。 たとえば、配布キットには、C#でコードを生成するためのテンプレートが含まれています。 VB.NETおよびT-SQL。 このプログラムは、無料のCode Smith Explorerと有料のCode Smith Studioの2つの部分で構成されています。 Explorerを使用してコードが生成され、Studioはカスタムテンプレートを開発するための環境です。



これらは、最初に記憶された例です。 自分でリストに追加できます。



All Articles