OOTB 動作を拡張するときは、アップグレードを念頭に置いておくことが重要です。/appsディレクトリ内のカスタマイズを必ず適用し、/libsディレクトリ内の対応するノードの上にオーバーレイするか、sling:resourceSuperTypeを使用して初期設定の動作を拡張します。 新しいAEMバージョンをサポートするためには、いくつかの変更が必要になる場合がありますが、この操作に従う場合は、新しいバージョンでカスタマイズ内容を上書きしないでください。
これにより、サイトの外観と操作性をより一貫性のあるものにし、コードのメンテナンスを簡素化できます。新しいテンプレートが必要な場合は、clientlib inclusionなどのグローバル要件を1か所でコード化できるように、共有ベーステンプレートから拡張する必要があります。 新しいコンポーネントが必要な場合は、既存のコンポーネントから拡張するオポチュニティを探します。
ページで各 parsys にどのコンポーネントを含めることができるかを定義することで、サイトの外観と操作性における一貫性を制御できます。ページ上のデザインへのアクセスを制限することで、「上級作成者」は、開発者の介入なしに、他の作成者が会社の基準に従うように、ページごとに許可されているコンポーネントを変更できます。
SOLID は、アーキテクチャに関する準拠すべき 5 つの原則を示す略語です。
この 5 つの原則に準拠しようと努力することによって、システムでの厳密な関心の分離が実現します。
堅牢性の原則では、送信内容に対しては保守的になり、受信内容に対しては寛容になることと規定しています。言い換えると、サードパーティにメッセージを送信する場合は、仕様に完全に従う必要がありますが、サードパーティからメッセージを受信する場合は、メッセージの意味が明確であれば、非準拠のメッセージを受け入れる必要があります。
スパイクおよびテストコードは Agile ソフトウェア実装の不可欠な要素ですが、それらが適切なレベルでの管理なしで実稼動コードベースに入り込まないようにする必要があります。その結果、独自のモジュールにスパイクを作成することをお勧めします。
データ移行スクリプトは実稼動コードで、通常は、サイトの初期起動時に 1 回のみ実行されます。したがって、サイトが公開されるとすぐに、このコードは無効になります。 移行スクリプトに依存する導入コードを構築しないようにするには、独自のモジュールに導入する必要があります。 また、起動後すぐにこのコードを削除および削除し、システムからコードが不正な状態になるのを防ぐこともできます。
Apacheは、https://maven.apache.org/developers/conventions/code.htmlに公開済みのスタイル規則を含んでいます。 新しいリソースが迅速にアップグレードしやすくなるので、これらの規則に従うことをお勧めします。