ソフトウェアのアーキテクチャ

アップグレードのためのデザイン

OOTB 動作を拡張するときは、アップグレードを念頭に置いておくことが重要です。/appsディレクトリ内のカスタマイズを必ず適用し、/libsディレクトリ内の対応するノードの上にオーバーレイするか、sling:resourceSuperTypeを使用して初期設定の動作を拡張します。 新しいAEMバージョンをサポートするためには、いくつかの変更が必要になる場合がありますが、この操作に従う場合は、新しいバージョンでカスタマイズ内容を上書きしないでください。

可能な場合はテンプレートおよびコンポーネントを再利用する

これにより、サイトの外観と操作性をより一貫性のあるものにし、コードのメンテナンスを簡素化できます。新しいテンプレートが必要な場合は、clientlib inclusionなどのグローバル要件を1か所でコード化できるように、共有ベーステンプレートから拡張する必要があります。 新しいコンポーネントが必要な場合は、既存のコンポーネントから拡張するオポチュニティを探します。

テンプレートデザイン

ページで各 parsys にどのコンポーネントを含めることができるかを定義することで、サイトの外観と操作性における一貫性を制御できます。ページ上のデザインへのアクセスを制限することで、「上級作成者」は、開発者の介入なしに、他の作成者が会社の基準に従うように、ページごとに許可されているコンポーネントを変更できます。

SOLID アーキテクチャを開発する

SOLID は、アーキテクチャに関する準拠すべき 5 つの原則を示す略語です。

  • 単一​の責任原則 — 各モジュール、クラス、メソッドなどは1つの責任しか持たない。
  • オープン/クローズ原則 — 拡張のためにモジュールをオープンし、変更のために閉じる必要があります。
  • ​スコフ代替の原則 — 型は、そのサブタイプで置き換える必要があります。
  • イン​ターフェイス分離の原則 — 使用しないメソッドにクライアントを強制的に依存させる必要はありません。
  • ​依存関係の反転の原則 — 高レベルのモジュールは、低レベルのモジュールに依存しないでください。どちらも、抽象に依存する必要があります。抽象が詳細に依存しないようにします。詳細が抽象に依存するようにします。

この 5 つの原則に準拠しようと努力することによって、システムでの厳密な関心の分離が実現します。

ヒント

SOLIDはオブジェクト指向プログラミングで一般的に使用される概念で、各要素は業界文献で広く論じられています。

これは、認識のための簡単な要約です。これらの概念をより深く理解することをお勧めします。

堅牢性の原則に準拠する

堅牢性の原則では、送信内容に対しては保守的になり、受信内容に対しては寛容になることと規定しています。言い換えると、第三者にメッセージを送る場合は、完全に仕様に従う必要がありますが、第三者からメッセージを受け取る場合は、メッセージの意味が明確であれば、不適合メッセージを受け取る必要があります。

独自のモジュールにスパイクを実装する

スパイクおよびテストコードは Agile ソフトウェア実装の不可欠な要素ですが、それらが適切なレベルでの管理なしで実稼動コードベースに入り込まないようにする必要があります。その結果、独自のモジュールにスパイクを作成することをお勧めします。

独自のモジュールにデータ移行スクリプトを実装する

データ移行スクリプトは実稼動コードで、通常は、サイトの初期起動時に 1 回のみ実行されます。したがって、サイトが公開されるとすぐに、このコードは無効になります。 移行スクリプトに依存する導入コードを構築しないようにするには、独自のモジュールに導入する必要があります。 また、起動後すぐにこのコードを削除および削除し、システムからコードが不正な状態になるのを防ぐこともできます。

POM ファイルで公開済みの Maven 表記規則に従う

Apacheは、https://maven.apache.org/developers/conventions/code.htmlに公開済みのスタイル規則を含んでいます。 新しいリソースが迅速にアップグレードしやすくなるので、これらの規則に従うことをお勧めします。

このページ

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now