dotnet-framework-4.8-expert について
.NET Framework 4.8 アプリケーションを保守・拡張する開発者向けのスキルです。WCF、ASP.NET MVC 5、Entity Framework 6、レガシー連携、移行計画を扱います。
主な機能
- 01WCF サービス開発
- 02ASP.NET MVC 5 アプリケーション
- 03Entity Framework 6 のデータアクセス
- 04COM とレガシーシステムの連携
- 05モダナイズと移行の指針
活用シーン
- 01企業向け .NET Framework アプリの保守
- 02WCF SOAP/REST サービスの構築
- 03ASP.NET MVC 5 アプリの拡張
- 04新しい .NET への移行計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill dotnet-framework-4.8-expertインストール後、Claude Code で/dotnet-framework-4.8-expertを入力して読み込まれたか確認します。
同梱ファイルEXAMPLES.mdREFERENCE.md
詳細
.NET Framework 4.8 のエキスパート
目的
WCF サービス、ASP.NET MVC、エンタープライズアプリケーションの保守を専門とする、レガシーな .NET Framework 開発の知見を提供します。技術的負債や移行戦略を管理しながら、最新のパターンを用いてレガシーな .NET 4.8 アプリケーションを拡張・統合できるよう支援します。
使用する場面
- .NET Framework 4.8 アプリケーションの保守または拡張
- エンタープライズ統合向けの WCF サービスの開発
- ASP.NET MVC 5 Web アプリケーションの開発
- Entity Framework 6 によるデータベースアクセスの管理
- レガシーな COM コンポーネントの統合
- 最新の .NET への移行戦略の策定
クイックスタート
呼び出す場面
- .NET Framework 4.x アプリケーションの保守
- WCF SOAP/REST サービスの構築または拡張
- ASP.NET MVC 5 の開発
- Entity Framework 6 によるデータベース操作
- Windows サービスの開発
- COM 相互運用の要件がある場合
呼び出さない場面
- 新規プロジェクト(.NET 8 以降と dotnet-core-expert を使用)
- 最新の Web API(ASP.NET Core を使用)
- クロスプラットフォームが必要な場合(.NET 8 を使用)
- コンテナー化されたデプロイ(.NET 8 を推奨)
主な専門分野
.NET Framework 4.8 の機能
- .NET Framework 4.8 のセキュリティ機能と互換性機能
- Windows Forms および WPF アプリケーションの開発
- データベースアクセス向けの Entity Framework 6
- Windows Communication Foundation(WCF)サービス
- ASP.NET MVC 5 Web アプリケーションの開発
- Windows サービスとバックグラウンド処理
WCF サービスのアーキテクチャ
- サービスコントラクトとデータコントラクト
- バインディングの構成(WSHttpBinding、BasicHttpBinding)
- サービスのホスティングとデプロイ
- セキュリティ構成(トランスポート、メッセージ、混在)
- WebHttpBinding を使用した RESTful サービス
- 双方向通信パターン
ASP.NET MVC 5 の開発
- MVC パターンの実装
- Razor ビューエンジンと HTML ヘルパー
- モデルバインディングと検証
- 認証と認可
- ルート構成と属性ルーティング
- JavaScript フレームワークとの統合
レガシーシステムの統合
- レガシーコンポーネントの統合に向けた COM 相互運用
- サードパーティライブラリの管理
- ADO.NET によるデータベース接続
- XML および SOAP Web サービスの利用
- レガシーコードのパフォーマンス最適化
- 最新のフレームワークへの移行戦略
判断基準
最新化する場合と保守する場合の判断
Evaluating legacy .NET Framework application?
│
├─ Is it actively developed (>1 feature/month)?
│ │
│ ├─ YES → Does it need cross-platform or containers?
│ │ │
│ │ ├─ YES → **Plan migration to .NET 8** ✓
│ │ │ (use Upgrade Assistant)
│ │ │
│ │ └─ NO → Business-critical?
│ │ │
│ │ ├─ YES → **Incremental modernization** ✓
│ │ │ (strangler fig pattern)
│ │ │
│ │ └─ NO → **Maintain in place** ✓
│ │
│ └─ NO → End-of-life planned?
│ │
│ ├─ YES → **Minimal maintenance** ✓
│ │ (security patches only)
│ │
│ └─ NO → **Maintain in place** ✓
│ (with documentation focus)
WCF と最新の代替技術の比較
| 項目 | WCF | ASP.NET Web API 2 | gRPC |
|---|---|---|---|
| プロトコル | SOAP、REST | REST | HTTP/2 |
| 最適な用途 | エンタープライズ SOAP | REST API | 高性能サービス |
| 相互運用性 | 優れている(.NET、Java) | 汎用 | 限定的 |
| 複雑さ | 高い | 中程度 | 中程度 |
| 保守性 | レガシー | レガシー | 最新 |
Entity Framework 6 と代替技術の比較
| 項目 | EF6 | Dapper | ADO.NET |
|---|---|---|---|
| 複雑さ | 低い | 中程度 | 高い |
| パフォーマンス | 良好 | 優れている | 最高 |
| 柔軟性 | 良好 | 優れている | 完全な制御 |
| 最適な用途 | CRUD アプリ | パフォーマンスが重要な処理 | 複雑なクエリ |
ベストプラクティス
.NET Framework 開発
- 依存関係管理:NuGet Package Manager を使用し、バージョンを固定します
- 構成:環境ごとに web.config/app.config の変換を使用します
- ログ記録:包括的なログ記録を実装します(log4net、Serilog)
- エラー処理:グローバル例外ハンドラーと適切なエラーページを使用します
- テスト:単体テストには MSTest または NUnit を、統合テストも実施します
WCF サービス
- セキュリティ:メッセージセキュリティを備えた wsHttpBinding を使用します
- バインディングの選択:要件に合ったバインディングを選択します
- スロットリング:スロットリング、インスタンス化、同時実行を構成します
- エラー処理:フォールトコントラクトを使用し、IErrorHandler を実装します
- テスト:WCF Test Client または Postman を使用します
ASP.NET MVC
- コントローラーパターン:依存性注入を使用し、ビジネスロジックを配置しないようにします
- ビューモデル:ビューモデルとドメインモデルを分離します
- 検証:データアノテーションと IValidatableObject を使用します
- セキュリティ:偽造防止トークン、出力エンコード、認可を使用します
データベースアクセス(EF6)
- コンテキスト管理:リクエストごとにコンテキストを作成し、リポジトリパターンを使用します
- クエリの最適化:Eager Loading には Include() を使用し、N+1 問題を回避します
- マイグレーション:Code First Migrations を使用し、バージョン管理します
- パフォーマンス:コンパイル済みクエリとキャッシュ戦略を活用します
レガシーアプリケーションの管理
- 技術的負債:文書化して優先順位を付け、重大な問題に対処します
- テスト:新機能の周辺にユニットテストを追加します
- セキュリティ:.NET Framework に最新のパッチを適用します
- ドキュメント:アーキテクチャ図とデータフローを最新の状態に保ちます
- 移行:.NET Upgrade Assistant を評価します
一般的なユースケース
エンタープライズ向けレガシーアプリケーション
- 既存の業務アプリケーションの保守
- 確立されたシステムへの新機能の追加
- レガシーコードのパフォーマンス最適化
- 最新のサービスや API との統合
- データベースの移行とスキーマの更新
WCF サービスアプリケーション
- エンタープライズサービスバスの実装
- サードパーティシステムとの統合
- SOAP Web サービスの開発
- WCF による RESTful API の作成
- サービスのオーケストレーションとコレオグラフィー
Windows デスクトップアプリケーション
- 業務用デスクトップアプリケーション
- データベース駆動型クライアントアプリケーション
- Office オートメーションとの統合
- ファイル処理およびレポート作成ツール
このエキスパートを使用する場面
最適なシナリオ:
- 既存の .NET Framework 4.8 アプリケーションの保守
- レガシーなエンタープライズシステムの拡張
- 新機能と既存の WCF サービスの統合
- ASP.NET MVC アプリケーションの機能強化
- Windows サービスの開発と保守
代替ソリューション:
- 新しいアプリケーションの場合:.NET Core/.NET 6+ を検討します
- Web API の場合:ASP.NET Core を検討します
- 最新のデスクトップアプリの場合:.NET 6+ を使用する WPF または MAUI を検討します
追加リソース
- 詳細な技術リファレンス:REFERENCE.mdを参照してください
- コード例とパターン:EXAMPLES.mdを参照してください
コメント
Markdown 対応