1. ファクトリーモデルのコンセプト
ファクトリ パターンは、オブジェクトを作成するためのインターフェイスを定義します。このインターフェイスは、サブクラスによってインスタンス化されるクラスを決定します。このパターンでは、クラスのインスタンス化をサブクラスに延期します。サブクラスは、インターフェイス メソッドをオーバーライドして、作成時に独自のオブジェクト タイプ (抽象ファクトリ) を指定できます。
このモードは、特に多くの設定ファイルに依存するなど、オブジェクトの作成プロセスに値を割り当てる場合に非常に便利です。さらに、プログラムではファクトリ メソッドがよく見られます。ファクトリ メソッドは、作成する必要があるオブジェクトのタイプをサブクラスに定義させるために使用されます。
2. ファクトリーモードの役割と注意点
モード機能:
1. オブジェクトの構造は非常に複雑です - 私たちが靴を履くのは非常に簡単ですが、靴を作るプロセスは非常に複雑です
2. 特定の環境に応じて異なるインスタンスを作成する必要があります。工場では靴と衣服を製造でき、工場では私が必要とする靴 (靴は異なります) を製造して、指定された場所 (場所は異なる場合があります)、これはさまざまなインスタンスで理解できます
3. 同じ属性を持つ多数の小さなオブジェクトを処理します。靴を購入する場合など、それらを製造する工場を探す必要はありません。
注:
1. 上記の 3 に示すように、ファクトリを乱用しないでください。場合によってはコードが複雑になるだけです。
3. ファクトリーパターンコードと実践的な概要
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //1.工厂应该有厂长来决定运行到底哪条产品线 //2.消费者-》子类 var gongchang = {}; gongchang.chanyifu = function(){ this.gongren = 50; alert("我们有"+this.gongren); } gongchang.chanxie = function(){ this.gongren = 100; alert("产鞋子"); } gongchang.yunshu = function(){ this.gongren = 10; alert("运输"); } gongchang.changzhang = function(para){ return new gongchang[para](); } var me = gongchang.changzhang("chanxie"); alert(me.gongren); </script> </body> </html>