ホームページ >バックエンド開発 >PHPチュートリアル >ウェブサイトのアーキテクチャの問題

ウェブサイトのアーキテクチャの問題

WBOY
WBOYオリジナル
2016-08-10 09:07:23993ブラウズ

現在当サイトには4つのモバイル端末(IOS、ANDROID、PC、TV)があり、PC端末以外にもAPI JSONデータ形式でアクセスしてデータを取得していますが、PC端末は一部のリストを除きアクセスしません。 . ページなどは API を使用しており、他の PC ページはページをレンダリングするときにバックグラウンドで直接生成されます。そこで現在直面している問題は、これら 4 つの端末が必要とするインターフェイスが、たとえ同じインターフェイスであっても、データ構造やフィールドが異なるということです。これにどう対処するか。私たちの現在のアプローチは、サーバー側で MVC モデルを使用し、インターフェイスとしては Lib ライブラリを使用することです。PC では、実際には単純なラベルを実装します。間接アクセスクラス。たとえば、ユーザーリストを取得したい場合、ホームアドレスを提供するコントローラーでは次のようになります。 リーリー

次に、PC ページで、テンプレートにこれを書くだけです:

リーリー

基本的にはこのような構造ですが、これには多くの欠点があります。たとえば、第二に、モバイル側で必要なデータが必ずしも PC 側で必要になるわけではありません。逆に、未使用のデータを取得するなどの読み取りが発生する可能性があります。

次に、いくつかの大規模なプロジェクトでこの問題をどのように解決しているかお聞きしたいのですが。たとえば、タオバオ、JD.comなど

返信内容:

現在、当ウェブサイトには4つのモバイル端末(IOS、ANDROID、PC、TV)があり、PC端末に加えて他の端末もAPI JSONデータ形式でアクセスしてデータを取得しますが、PC端末は一部の端末を除きアクセスしません。リストページなどはAPIを使用しており、その他のPCページはページ描画時にバックグラウンドで直接生成されます。そこで現在直面している問題は、これら 4 つの端末が必要とするインターフェイスが、たとえ同じインターフェイスであっても、データ構造やフィールドが異なるということです。これにどう対処するか。私たちの現在のアプローチは、サーバー側で MVC モデルを使用し、インターフェイスとしては Lib ライブラリを使用することです。PC では、実際には単純なラベルを実装します。間接アクセスクラス。たとえば、ユーザーリストを取得したい場合、ホームアドレスを提供するコントローラーでは次のようになります。 リーリー

次に、PC ページで、テンプレートにこれを書くだけです:

リーリー

基本的にはこのような構造ですが、これには多くの欠点があります。たとえば、第二に、モバイル側で必要なデータが必ずしも PC 側で必要になるわけではありません。逆に、未使用のデータを取得するなどの読み取りが発生する可能性があります。

次に、いくつかの大規模なプロジェクトでこの問題をどのように解決しているのかをお聞きしたいのですが。たとえば、タオバオ、JD.comなど


そう言うのですが、自分のウェブサイトで何が起こっているのか分かりませんか? 4つのWebサイトが強制的に結合されているようです。それぞれが独自のインターフェースを持っているのに、なぜインターフェースを統一する必要があるのでしょうか?現在のデータの一貫性が達成されている場合は、インターフェイスの問題について心配する必要はありません。大幅な変更は不可能です。インターフェースで不要なフィールドを除外しても問題ありません。これ以上踏み込んだことは行わないでください。すでに混乱しています。変更すればするほど混乱が生じます。

個人的には、API インターフェイスは、1 セットのインターフェイス、複数の呼び出しを設計するときに、できる限り標準化されるべきだと思います。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。