私はDRYと緩い結合の間で引き裂かれています:(
アカウントをリンクできる2つのサイトがあり、それらのサイトはデータを共有できます(RESTful APIを介して...)
1つのサイトはメディア集約サイトであり、もう1つは人々がデジタルメディア(音楽/写真/ビデオ)を購入できるメディアストアです。
私の上司は、itunesストアをエミュレートし、アグリゲーションサイトにビルトインストアを設置して、好きなものを購入してアカウントに自動的に追加できるようにしたいと考えています。
私はストアサイト用に作成されたテンプレートとビュー(django)の99%を持っており、メディアサイトにコンテンツを表示する必要があります。
テンプレートをレンダリングして、事前にレンダリングされたhtml(api経由)をメディア(アグリゲーション)サイトに配信する(そしてDRYに従う)必要がありますか、それともストア側で密結合のカスタムテンプレートを回避するためにjsonを配信する必要がありますか?
それとも、ハイブリッド設計の方がうまくいくでしょうか?事前にレンダリングされたhtmlのチャンク(のトップ10製品など<ol>
)を配信し、メディアサイトに必要なチャンクを要求させますか?
ハイブリッド設計は(今のところ)私にとって最も有望に思えますが、おそらく結果としてより多くのapi呼び出し(したがってより多くのデータベースクエリ)が発生するでしょう
どう思いますか?
編集-新しいアイデア:(コメントに見られるように)ストアサイトにカスタムcssをiframeにロードすることについてどう思いますか?
これにより、混乱がなくなり、密結合されたコードの量が3ダース行のうちの2行程度に減り、ほぼ同一の2セットのテンプレートを維持するという大きな頭痛の種を減らすことができると思います。