ホームページ > バックエンド開発 > PHPチュートリアル > 私は神の導きを乞い、システムアーキテクチャについて相談します。

私は神の導きを乞い、システムアーキテクチャについて相談します。

WBOY
リリース: 2016-06-13 12:08:12
オリジナル
783 人が閲覧しました

マスターに指導をお願いします。システム アーキテクチャについて質問があります。
私は Web サイト システムに取り組んでおり、いくつかの問題が発生しました。

の説明です。状況:
この Web サイトのアーキテクチャは PHP の CodeIgniter で書かれており、CodeIgniter は MVC アーキテクチャを満たしていますが、システム内の多くの M 層と C 層のコードが Python で実装されているため、設計時に次の 2 つの問題が発生しました。システムのアーキテクチャ (コードの再利用と共有データベースの転送リファレンス):

1. コードの再利用は php と Python のモデル層に反映されます。現状では、相互に呼び出すことが困難であり、コードの再利用が発生します。
2. 共有データベースは、php と python の両方がデータベースを操作するという事実に反映されており、python と php が相互に呼び出すことが難しいため、パラメーターの転送にデータベースの特定のテーブルが使用されるようになりました。

現在、将来のシステムには次のような要件があります。
1. 異なる当事者が異なる関数を使用できる (コードは物理的に分離されている)。
2. システムのモジュール間の結合度が低く、モジュールを柔軟に組み合わせることで新しい機能を実現できます。
3. 未知の圧力下でもシステムは安定しています。


ヘルプ: 専門家が、できるだけ少ない変更で上記のニーズを満たすソリューション (どのようなシステム アーキテクチャ、データ インターフェイスの設計など) を提案できることを願っています。
------ソリューションアイデア----------------------
3 層アーキテクチャが表示されます
最も内側は、実際のデータベースを扱うために使用されるデータ層です
真ん中のリングは、特定のビジネスプロセスを実装するビジネス層です
最も外側の層は、ユーザーインターフェースを実装するユーザー層 関連する機能
は、ユーザー層がビジネス層をバイパスしてデータベース
を直接操作することができないという構造からわかるように、ビジネス層によって提供されるさまざまなメソッドは API と呼ばれるようになりました。

は、以下を満たす場合に実装する必要があります。
エンティティ データベースがどのようなものになっても、データ層インターフェイスは変更されません (つまり、ビジネス層コードを変更する必要はありません)
関係ありませんユーザー層が必要とするものは、ビジネス層インターフェース (API) を介して (のみ) 実現できます
もちろん、ビジネス ロジックも変更する必要がありますが、これはユーザーレベルのコード (当然効果は変わります)

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート