The Simple Factory isn’t actually a Design Pattern; it’s more of a pro การแปล - The Simple Factory isn’t actually a Design Pattern; it’s more of a pro ไทย วิธีการพูด

The Simple Factory isn’t actually a


The Simple Factory isn’t actually a Design Pattern; it’s more of a programming idiom. But it is commonly used, so we’ll give it a Head First Pattern Honorable Mention. Some developers do mistake this idiom for the “Factory Pattern,” so the next time there is an awkward silence between you and another developer, you’ve got a nice topic to break the ice.
Just because Simple Factory isn’t a REAL pattern doesn’t mean we shouldn’t check out how it’s put together. Let’s take a look at the class diagram of our new Pizza Store:
Think of Simple Factory as a warm up. Next, we’ll explore two heavy duty patterns that are both factories. But don’t worry, there’s more pizza to come!
Pattern Honorable Mention
Pizza
prepare() bake() cut() box()
orderPizza()
createPizza()
CheesePizza
VeggiePizza
ClamPizza
PepperoniPizza
you are here 4 117
Head First Honorable Mention
These are our concrete products. Each product needs to implement the Pizza interface* (which in this case means
“extend the abstract Pizza class”) and be concrete. As long as that’s the case, it can be created by the factory and handed back to the client.
This is the client of the factory. PizzaStore
now goes through the SimplePizzaFactory to get instances of pizza.
*Just another reminder: in design patterns, the phrase “implement an interface” does NOT always mean “write a class the implements a Java interface, by using the “implements” keyword in the class declaration.” In
the general use of the phrase, a concrete class implementing a method from a supertype (which could be a class OR interface) is still considered to be “implementing the interface” of that supertype.
This is the factory where we create pizzas; it should be the only part of our application that refers to concrete Pizza classes..
The create method is often declared statically.
We’ve defined Pizza as an abstract class with some helpful implementations that can be overridden.
This is the product of the factory: pizza!
t
z
z
y
pizza franchise
Franchising the pizza store
Your Objectville PizzaStore has done so well that you’ve trounced the competition and now everyone wants a PizzaStore in their own neighborhood. As the franchiser, you want to ensure the quality of the franchise operations and so you want them to use your time-tested code.
But what about regional differences? Each franchise might want to offer different styles of pizzas (New York, Chicago, and California, to name a few), depending on where the franchise store is located and the tastes of the local pizza connoisseurs.
We’ve seen one approach...
If we take out SimplePizzaFactory and create three different factories, NYPizzaFactory, ChicagoPizzaFactory and CaliforniaPizzaFactory, then we can just compose the PizzaStore with the appropriate factory and a franchise is good to go. That’s one approach.
Let’s see what that would look like...
118 Chapter 4
y t
You want all the franchise pizza stores to leverage your PizzaStore code, so the pizzas are prepared in the same way.
One franchise wants a factory that makes NY style pizzas: thin crust, tasty sauce and just a little cheese.
Another franchise wants a factory that makes Chicago style pizzas; their customers like pizzas with thick crust, rich sauce, and tons of cheese.
r
r c
a
o
a
z
i
g
P
a
C
N
r
S
P
i
a
P
Y
c
e
o
z
z
o
a
F
z
F
i
h
c
i
a
o
t
But you’d like a little more quality control...
So you test marketed the SimpleFactory idea, and what you found was that the franchises were using your factory to create pizzas, but starting to employ their own home grown procedures for the rest of the process: they’d bake things a little differently, they’d forget to cut the pizza and they’d use third-party boxes.
Rethinking the problem a bit, you see that what you’d really like to do is create a framework that ties the store and the pizza creation together, yet still allows things to remain flexible.
In our early code, before the SimplePizzaFactory, we had the pizza-making code tied to the PizzaStore, but it wasn’t flexible. So, how can we have our pizza and eat it too?
I’ve been making pizza for years so I thought I’d add my own “improvements” to the PizzaStore procedures...
the factory pattern
NYPizzaFactory nyFactory = new NYPizzaFactory(); PizzaStore nyStore = new PizzaStore(nyFactory); nyStore.order(“Veggie”);
ChicagoPizzaFactory chicagoFactory = new ChicagoPizzaFactory(); PizzaStore chicagoStore = new PizzaStore(chicagoFactory); chicagoStore.order(“Veggie”);
you are here 4 119
Then we create a PizzaStore and pass it a reference to the NY factory.
...and when we make pizzas, we get NY-styled pizzas.
Likewise for the Chicago pizza stores: we create a factory for Chicago pizzas and create a store that is composed with a Chicago factory. When we make pizzas, we get the Chicago flavored ones
Not what you want in a good franchise. You do NOT want to know what he puts on his pizzas.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!

โรงงานง่ายๆคือไม่จริงรูปแบบการออกแบบ; เป็นมากขึ้นของสำนวนการเขียนโปรแกรม แต่มันมักจะถูกใช้เพื่อให้เราจะให้มันหัวรูปแบบการอ้างถึงครั้งแรกมีเกียรติ นักพัฒนาบางส่วนทำผิดพลาดสำหรับสำนวนนี้ "รูปแบบโรงงาน" ดังนั้นครั้งต่อไปที่มีความเงียบที่น่าอึดอัดใจระหว่างคุณและพัฒนาอื่นคุณได้มีหัวข้อที่ดีที่จะทำลายน้ำแข็ง.
เพียงเพราะโรงงานที่เรียบง่ายไม่ได้เป็นรูปแบบที่แท้จริงไม่ได้หมายความว่าเราไม่ควรตรวจสอบว่ามันใส่กัน ลองมาดูที่แผนภาพคลาสของร้านพิซซ่าใหม่ของเรา:
คิดของโรงงานง่ายๆเป็นอบอุ่นขึ้น ต่อไปเราจะสำรวจสองรูปแบบงานหนักที่มีทั้งโรงงาน แต่ไม่ต้องกังวลมีของพิซซ่าขึ้นมา
รูปแบบรางวัลชมเชย
พิซซ่า
เตรียมความพร้อม () ตัดอบ () () อยู่ที่นี่ 4 117
หัวรางวัลชมเชยแรก
เหล่านี้เป็นผลิตภัณฑ์คอนกรีตของเรา ผลิตภัณฑ์แต่ละความต้องการที่จะใช้อินเตอร์เฟซพิซซ่า (ซึ่งในกรณีนี้หมายถึง
"ขยายชั้นเรียนพิซซ่านามธรรม") และเป็นรูปธรรม ตราบใดที่เป็นกรณีที่มันสามารถถูกสร้างขึ้นโดยโรงงานและส่งกลับไปยังลูกค้า.
นี้เป็นลูกค้าของโรงงาน pizzastore
ตอนนี้ผ่านไป simplepizzafactory ที่จะได้รับกรณีของพิซซ่า
* เพียงแค่เตือนความทรงจำอื่น:. ในรูปแบบการออกแบบวลี "ใช้อินเตอร์เฟซ" ไม่ได้เสมอหมายความว่า "เขียนชั้นดำเนินการอินเตอร์เฟซจาวาโดยใช้" นำไปปฏิบัติ "คำหลักในการประกาศคลาส."
ในการใช้งานทั่วไปของวลี, ชั้นคอนกรีตวิธีการดำเนินการจาก supertype (ซึ่งอาจจะเป็นชั้นเรียนหรืออินเตอร์เฟซ) ถือว่ายังคงที่จะ "ใช้อินเตอร์เฟซ" ของ supertype ว่า.
นี้เป็นโรงงานที่เราสร้างพิซซ่า; มันควรจะเป็นเพียงส่วนหนึ่งของโปรแกรมของเราที่หมายถึงการเรียนพิซซ่าคอนกรีต ..
วิธีการสร้างมักจะมีการประกาศแบบคงที่
เราได้กำหนดไว้พิซซ่าเป็นระดับนามธรรมที่มีการใช้งานบางอย่างที่เป็นประโยชน์. สามารถแทนที่
นี้เป็นผลิตภัณฑ์จากโรงงาน:. pizza!
 T
z
z
y

แฟรนไชส์​​พิซซ่าแฟรนไชส์​​ร้านพิซซ่า
pizzastore objectville ของคุณได้ทำเพื่อให้ดีว่าคุณได้คู่แข่งขันการแข่งขันและตอนนี้ทุกคนต้องการ pizzastore ในละแวกบ้านของพวกเขาเอง เป็น franchiser ที่คุณต้องการเพื่อให้แน่ใจว่าคุณภาพของการดำเนินงานแฟรนไชส์​​และอื่น ๆ ที่คุณต้องการให้ใช้รหัสเวลาการทดสอบของคุณ.
แต่สิ่งที่เกี่ยวกับความแตกต่างในระดับภูมิภาค?แฟรนไชส์​​แต่ละอาจต้องการที่จะนำเสนอรูปแบบที่แตกต่างกันของพิซซ่า (นิวยอร์กชิคาโกและแคลิฟอร์เนียเพื่อชื่อไม่กี่) ขึ้นอยู่กับที่ร้านแฟรนไชส์​​ที่ตั้งอยู่และรสนิยมของผู้ที่ชื่นชอบพิซซ่าท้องถิ่น.
 เราได้เห็นวิธีการหนึ่ง ...
ถ้าเราจะออก simplepizzafactory และสร้างโรงงานที่สามที่แตกต่างกัน nypizzafactory,chicagopizzafactory และ californiapizzafactory แล้วเราก็สามารถแต่ง pizzastore กับโรงงานที่เหมาะสมและแฟรนไชส์​​เป็นสิ่งที่ดีที่จะไป ที่วิธีการหนึ่ง.
เรามาดูสิ่งที่จะมีลักษณะเช่น ...
118 บทที่ 4

YT คุณต้องการให้ทุกร้านค้าแฟรนไชส์​​พิซซ่าที่จะยกระดับ pizzastore รหัสของคุณเพื่อให้พิซซ่าได้จัดทำขึ้นในลักษณะเดียวกัน.
หนึ่งในแฟรนไชส์​​ที่ต้องการโรงงานที่ทำให้พิซซ่าสไตล์นิวยอร์ก:. เปลือกบางซอสอร่อยและชีสเพียงเล็ก ๆ น้อย ๆ
แฟรนไชส์​​อื่นที่ต้องการโรงงานที่ทำให้พิซซ่าสไตล์ชิคาโก; ลูกค้าของพวกเขาเช่นพิซซ่าที่มีขอบหนาซอสที่อุดมไปด้วยและตันของชีส

r rc

o

z

ผมกรัม p



ค n
r s
p

ผม

p
y
คอี

o

z z
o


z

ผม h


คผม

o
T
 แต่คุณต้องการควบคุมคุณภาพน้อยมาก ...
เพื่อให้คุณทดสอบตลาดความคิด simplefactory และสิ่งที่คุณพบว่าแฟรนไชส์​​ได้ใช้โรงงานของคุณ เพื่อสร้างพิซซ่า แต่เริ่มที่จะจ้างวิธีการของพวกเขาบ้านของตัวเองเติบโตขึ้นสำหรับส่วนที่เหลือของกระบวนการ: อบที่พวกเขาต้องการสิ่งที่แตกต่างกันเล็กน้อยพวกเขาต้องการลืมที่จะตัดพิซซ่าและพวกเขาต้องการใช้กล่องของบุคคลที่สาม.
ทบทวนปัญหาบิตคุณจะเห็นว่าสิ่งที่คุณจริงๆต้องการทำคือการสร้างกรอบการทำงานที่ผูกเก็บและการสร้างพิซซ่าด้วยกัน ยังคงช่วยให้สิ่งที่จะยังคงมีความยืดหยุ่น.
ในรหัสต้นของเราก่อนที่จะ simplepizzafactory เรามีรหัสทำพิซซ่า-ผูกติดอยู่กับ pizzastore แต่มันก็ไม่ได้มีความยืดหยุ่น ดังนั้นวิธีการที่เราสามารถมีพิซซ่าของเราและกินมันเกินไป?
ฉันได้รับการทำพิซซ่ามานานหลายปีดังนั้นฉันคิดว่าฉันต้องการเพิ่ม "ปรับปรุง" ของตัวเองขั้นตอน pizzastore ...
รูปแบบโรงงาน
 nypizzafactory nyfactory = ใหม่ nypizzafactory (); pizzastore nystore = ใหม่ pizzastore (nyfactory); nystore.order ("Veggie");
chicagopizzafactory chicagofactory = ใหม่ chicagopizzafactory ();pizzastore chicagostore = ใหม่ pizzastore (chicagofactory); chicagostore.order ("Veggie");.
คุณอยู่ที่นี่ 4 119
แล้วเราสร้าง pizzastore และผ่านมันอ้างอิงไปยังโรงงานนิวยอร์ก
.. และเมื่อเราทำพิซซ่าที่เราได้รับพิซซ่าสไตล์นิวยอร์ก
เช่นเดียวกันสำหรับ Chicago Pizza ร้านค้า:. เราสร้างโรงงานสำหรับพิซซ่าชิคาโกและสร้างร้านค้าที่ประกอบกับโรงงาน chicagoเมื่อเราทำพิซซ่าเรารับคนรส chicago
ไม่ได้สิ่งที่คุณต้องการในแฟรนไชส์​​ที่ดี คุณไม่ต้องการที่จะรู้ว่าสิ่งที่เขาทำให้กับพิซซ่าของเขา
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!

โรงงานอย่างไม่จริงออกแบบรูปแบบ มันเป็นสำนวนการเขียนโปรแกรมเพิ่มเติม แต่มัน ใช้ทั่วไป ดังนั้นเราจะให้มันพูดเป็นหัวแรกลายเกียรติถึง นักพัฒนาบางผิดสำนวนนี้สำหรับ "โรงงานรูปแบบ ดังนั้นในครั้งต่อไปมี การเงียบตกใจระหว่างคุณและผู้พัฒนาอื่น ได้หัวข้อดีจะทำลายน้ำแข็ง
เพียง เพราะรูปจริงไม่ใช่โรงงานอย่าง ไร เราควรเช็คว่ามันจะใส่กัน ลองมาดูที่แผนภาพคลาสของร้านพิซซ่าของเราใหม่:
คิดว่าของอย่างโรงเป็นอบอุ่นขึ้น ถัดไป เราจะได้สำรวจรูปแบบหนักสองที่ทั้งสองโรงงาน แต่ไม่ต้องกังวล มีพิซซ่าเพิ่มเติมมา!
พูดถึงเกียรติรูป
พิซซ่า
prepare() bake() cut() box()
orderPizza()
createPizza()
CheesePizza
VeggiePizza
ClamPizza
PepperoniPizza
คุณอยู่ที่นี่ 4 117
หัวแรกเกียรติพูดถึง
ได้แก่ผลิตภัณฑ์คอนกรีต แต่ละผลิตภัณฑ์จำเป็นต้องใช้อินเทอร์เฟซพิซซ่า * (ซึ่งในกรณีนี้หมายความว่า
"ขยายคลาสพิซซ่านามธรรม") และคอนกรีต ตราบใดที่เป็น สามารถสร้างโรงงาน และส่งกลับไปยังไคลเอนต์ได้
นี้เป็นลูกค้าของโรงงานได้ PizzaStore
ตอนนี้ ไปผ่าน SimplePizzaFactory จะได้รับอินสแตนซ์ของพิซซ่า
* เพียงเตือนอีก: ในรูปแบบออกแบบ วลี "ใช้อินเทอร์เฟซ" ไม่เสมอหมาย "เขียนเป็นเครื่องมือส่วน Java การติดต่อ โดยใช้คำสำคัญ"เครื่องมือ"ในการประกาศคลาส" ใน
ทั่วไปใช้วลี ชั้นคอนกรีตที่ใช้วิธีการจาก supertype (ซึ่งอาจจะเป็นคลาสหรืออินเทอร์เฟซ) ยังถือเป็น "ใช้อินเทอร์เฟซ" ของ supertype ที่.
เป็นโรงงานที่เราสร้างพิซซ่า ควรมีส่วนเฉพาะของโปรแกรมประยุกต์ที่อ้างอิงถึงคลาพิซซ่าคอนกรีต...
ประกาศวิธีสร้างมักจะฟิกแบบคง.
เราได้กำหนดพิซซ่าเป็นคลาสนามธรรมกับการใช้งานบางอย่างเป็นประโยชน์ที่สามารถถูกแทนที่ด้วย
นี้เป็นผลิตภัณฑ์ของโรงงาน: พิซซ่า!
t
z
z
y
แฟรนไชส์พิซซ่า
แฟรนไชส์ร้านพิซซ่า
Objectville PizzaStore ของคุณได้ทำดีให้คุณได้ trounced การแข่งขัน และขณะนี้ ทุกคนต้องการ PizzaStore ในตัวเอง เป็นข้อ คุณต้องมั่นใจในคุณภาพของการดำเนินงานของแฟรนไชส์ และดังนั้น คุณต้องการให้การของ time-tested รหัส
แต่ต่างภูมิภาคหรือไม่ แฟรนไชส์แต่ละอาจมีลักษณะแตกต่างกันของพิซซ่า (นิวยอร์ก ชิคาโก และ แคลิฟอร์เนีย ชื่อสะดวก), ซึ่งเป็นที่ตั้งของร้านค้าแฟรนไชส์และรสนิยมของพิซซ่าภายในจาก
เราเคยเห็นวิธีหนึ่ง...
ถ้าเราจะออก SimplePizzaFactory และสร้างโรงงานแตกต่างกันสาม NYPizzaFactory ChicagoPizzaFactory และ CaliforniaPizzaFactory แล้วเราสามารถเพียงเขียน PizzaStore กับโรงงานที่เหมาะสม และเป็นแฟรนไชส์ได้ วิธีการหนึ่งได้
ของให้เห็นอะไรที่ดูต้อง...
118 บท 4
y t
ต้องเก็บพิซซ่าแฟรนไชส์กับรหัสของคุณ PizzaStore ดังนั้นพิซซ่าจะเตรียมพร้อมในลักษณะเดียวกันทั้งหมด
แฟรนไชส์หนึ่งต้องการโรงงานที่ทำให้พิซซ่าสไตล์ NY: บางเปลือก ซอสอร่อย แล้วเพียงเล็กน้อยชี
แฟรนไชส์อื่นต้องการโรงงานที่ชิคาโกสไตล์พิซซ่า ลูกค้าชอบพิซซ่า กับเปลือกหนา ซอสอุดม ตันของชี
r
r c

o
เป็น
z
ฉัน
g
P
เป็น
C
N
r
S
P
ฉัน
การ
P
Y
c
อี
o
z
z
o
เป็น
F
z
F
ฉัน
h
c
ฉัน

o
t
แต่คุณต้องเล็กน้อยเพิ่มเติมควบคุมคุณภาพ...
เพื่อคุณทดสอบ เด็ดขาดคิด SimpleFactory และสิ่งที่คุณพบได้ว่า แฟรนไชส์ที่ใช้โรงงานของคุณเพื่อสร้างพิซซ่า แต่เริ่มต้นการจ้างงานตนเองขั้นตอนการปลูกในบ้านส่วนเหลือของกระบวนการ: พวกเขาจะอบสิ่งเล็กน้อยแตกต่างกัน พวกเขาจะลืมตัดพิซซ่า และพวกเขาจะใช้กล่องอื่น.
ทบทวนปัญหาเล็ก คุณเห็นว่า คุณจริง ๆ ต้องการ สร้างกรอบที่ผูกเก็บ และสร้างพิซซ่ากัน แต่ยังช่วยให้สิ่งต่าง ๆ ยังคงมีความยืดหยุ่น.
ในรหัสของเราก่อน ก่อนที่จะ SimplePizzaFactory เราได้รหัสทำพิซซ่าที่เกี่ยวพันกับการ PizzaStoreแต่มันไม่ได้มีความยืดหยุ่น ดังนั้น วิธีสามารถเรามีพิซซ่าของเรา และกินมากเกินไป?
ฉันได้ถูกทำพิซซ่าปีดังนั้นฉันคิดว่า ฉันจะเพิ่ม "ปรุง" ของตัวเองตอน PizzaStore...
รูปโรงงาน
NYPizzaFactory nyFactory = NYPizzaFactory() ใหม่ PizzaStore nyStore = PizzaStore(nyFactory) ใหม่ nyStore.order ("Veggie");
ChicagoPizzaFactory chicagoFactory = ChicagoPizzaFactory() ใหม่ PizzaStore chicagoStore = PizzaStore(chicagoFactory) ใหม่ chicagoStore.order("Veggie");
คุณอยู่ที่นี่ 4 119
แล้วเราสร้าง PizzaStore และส่งต่อให้อ้างอิงถึงโรงงาน NY
... และเมื่อเราทำพิซซ่า เราได้สไตล์ NY พิซซ่า
Likewise สำหรับร้านพิซซ่าชิคาโก: เราสร้างโรงงานในชิคาโกพิซซ่า และสร้างร้านค้าที่ประกอบ ด้วยโรงงานชิคาโก เมื่อเราทำพิซซ่า เรารับที่ชิคาโกรสคน
ไม่สิ่งที่คุณต้องการในแฟรนไชส์ที่ดี คุณไม่ต้องรู้ว่าสิ่งที่เขาวางบนพิซซ่า
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!

โรงงานแบบเรียบง่ายไม่ได้จริงๆแล้วการออกแบบลวดลายที่มีมากในสำนวนของ ภาษา สำหรับการตั้งโปรแกรมที่ แต่ก็มีใช้กันทั่วไปดังนั้นเราจะทำให้มันเป็นครั้งแรกที่มีเกียรติกล่าวถึงรูปแบบ บริษัทพัฒนาอสังหาริมทรัพย์บางส่วนทำความผิดพลาดตามสำนวน ภาษา นี้สำหรับ"โรงงานผลิตรูปแบบ"ดังนั้นในครั้งถัดไปที่มีความเงียบน่าอึดอัดระหว่างคุณและผู้พัฒนาอื่นคุณจะได้รับเรื่องที่สวยงามเพื่อการหยุดพักน้ำแข็ง.
เพียงเพราะโรงงานแบบเรียบง่ายไม่ได้รูปแบบอย่างแท้จริงไม่ได้หมายความว่าเราไม่ควรตรวจสอบออกมาได้อย่างไรมันของใส่กัน เรามาดูที่ ภาพ ของพิซซ่าจัดเก็บคิดว่า:
ใหม่ของเราในโรงงานแบบเรียบง่ายและอบอุ่นที่ได้ ถัดไปเราจะได้สำรวจทั้งสองรูปแบบหน้าที่หนักที่มีโรงงานทั้งสอง แต่ไม่ต้องกังวลมีพิซซ่ามากขึ้นในการเข้ามา!
รูปแบบให้เป็นเกียรติกล่าวถึงพิซซ่า

เตรียมความพร้อม()อบ()ตัด() box()
orderPizza()
createPizza()
CheesePizza จะอยู่ที่นี่ 4117
หัวเป็นครั้งแรกให้เป็นเกียรติกล่าวถึง
เหล่านี้เป็น ผลิตภัณฑ์ คอนกรีตของเรา. แต่ละ ผลิตภัณฑ์ ความต้องการในการใช้งานอินเทอร์เฟซพิซซ่า*(ซึ่งในกรณีนี้หมายถึงตอบแทน
"การเพิ่มระดับของพิซซ่า")และคอนกรีต เป็นระยะยาวที่เป็นกรณีที่สามารถสร้างขึ้นได้จากโรงงานและส่งมอบกลับไปยังเครื่องลูกข่ายที่.
นี้เป็นเครื่องลูกข่ายของโรงงานที่ pizzastore
ตอนนี้จะผ่าน simplepizzafactory ที่ต้องการกรณีของพิซซ่า.
*ในการแจ้งเตือนในรูปแบบการออกแบบคำว่า"อินเตอร์เฟซที่ใช้งาน"ไม่อยู่เสมอว่า"การเขียนที่ระดับ First Class ที่ปรับใช้ที่ Java อินเตอร์เฟซ,โดยใช้การ"ปรับใช้"คำสำคัญในระดับ first class ที่ประกาศ"ใน
ซึ่งจะช่วยให้ใช้งานโดยทั่วไปของคำ,ที่เป็นรูปธรรม class การปรับใช้วิธีการจาก supertype (ซึ่งอาจจะอยู่ที่ Class หรือ Interface )จะยังได้รับการพิจารณาให้เป็น"การใช้อินเตอร์เฟซ"ของที่ supertype .
โรงแรมแห่งนี้คือที่มาจากโรงงานที่เราสร้างพิซซ่า;ควรจะเป็นเพียงส่วนหนึ่งของแอปพลิเคชันของเราซึ่งเป็นพิซซ่าคอนกรีตชั้นเรียน..
ที่สร้างวิธีนี้มักได้ประกาศจัดตั้งเป็นรูปแบบสแตติก.
เราได้กำหนดเป็นพิซซ่าที่เป็นนามธรรม Class พร้อมด้วยบางส่วนที่เป็นประโยชน์การใช้งานที่สามารถแทนที่.
นี้เป็น ผลิตภัณฑ์ ที่มาจากโรงงานของ:พิซซ่า!

Z
ซึ่งจะช่วย T Z

Y พิซซ่าแฟรนไชส์
ธุรกิจแฟรนไชส์ร้านพิซซ่า
objectville pizzastore ของคุณได้ทำให้ดีที่สุดไม่ว่าคุณได้ trounced การแข่งขันและในตอนนี้ทุกคนต้องการ pizzastore ที่อยู่ในเขตพื้นที่ของตนเอง เป็นสนองตอบที่คุณต้องการความมั่นใจใน คุณภาพ ของการดำเนินงานธุรกิจแฟรนไชส์ที่คุณต้องการให้ลูกค้าใช้รหัสเวลาทำการทดสอบของคุณ.
แต่อะไรที่เกี่ยวกับความแตกต่างในระดับ ภูมิภาคแต่ละธุรกิจแฟรนไชส์อาจต้องการจัดให้บริการสไตล์ที่แตกต่างกันของพิซซ่า( New York ชิคาโกและรัฐแคลิฟอร์เนียไปจนถึงที่มีชื่อเสียงไม่มากนัก)ทั้งนี้ขึ้นอยู่กับสถานที่ซึ่งจัดเก็บแฟรนไชส์ตั้งอยู่และรสชาติของอาหารท้องถิ่นพิซซ่าผู้เชี่ยวชาญด้านไวน์.
ที่เราเคยเห็นวิธีหนึ่ง
หากเราจะออกจาก simplepizzafactory และสร้างโรงงานสาม nypizzafactory แตกต่างกันchicagopizzafactory และ californiapizzafactory แล้วเราสามารถเขียนอีเมล pizzastore ที่มีโรงงานที่เหมาะสมที่อยู่และแฟรนไชส์ที่มีความเหมาะสมในการเข้าไป. นั่นเป็นวิธีหนึ่ง.
ปล่อยให้ดูว่าจะมีลักษณะที่คล้ายกับ
118 บทที่ 4
Y T
ซึ่งจะช่วยคุณต้องการจัดเก็บพิซซ่าแฟรนไชส์ทั้งหมดในการใช้ประโยชน์จากรหัส pizzastore ของคุณเพื่อให้พิซซ่าที่ได้รับการจัดเตรียมในแบบเดียวกับที่.
หนึ่งแฟรนไชส์ต้องการโรงงานที่ทำให้ NY Water Taxi สไตล์พิซซ่า:บางเปลือก,ซอสรสชาติแสนอร่อยและแค่เพียงชีส.
อื่นแฟรนไชส์ต้องการโรงงานที่ทำให้เมืองชิคาโกสไตล์พิซซ่า;ลูกค้าเช่นพิซซ่าหนาที่มีเปลือกให้น้ำซอสและตันของชีส.

ซึ่งจะช่วย R R C



o Z

ซึ่งจะช่วยผม G
ซึ่งจะช่วย P


ซึ่งจะช่วย n c

R S
ซึ่งจะช่วย P


ซึ่งจะช่วยผม P

Y C

o
อี Z

ซึ่งจะช่วย Z

o F

Z
F I
ซึ่งจะช่วย H

ผม C


o T
แต่คุณต้องการน้อยการควบคุม คุณภาพ มากขึ้น
ดังนั้นคุณทดสอบ simplefactory เจตนารมย์ความคิดได้และสิ่งที่คุณพบว่าแฟรนไชส์ที่มีการใช้โรงงานของคุณในการสร้างพิซซ่าแต่เริ่มจะมีการจ้างงานเพิ่มขึ้นตามขั้นตอนบ้านของตัวเองสำหรับส่วนที่เหลือของกระบวนการที่จะอบสิ่งเล็กๆน้อยๆที่แตกต่างกันไปพวกเขาจะต้องไม่ลืมตัดพิซซ่าและพวกเขาจะใช้กล่องโต้ตอบของบุคคลที่สาม.
ภาวะ ปัญหาที่คุณจะเห็นว่าสิ่งที่คุณอยากจะทำจริงๆคือการสร้างโครงงานที่จัดเก็บที่ความสัมพันธ์และการสร้างพิซซ่าด้วยกันแต่ก็ยังช่วยให้สิ่งต่างๆจะยังคงอยู่ที่มีความยืดหยุ่น.
ในรหัสของเราก่อน simplepizzafactory ที่เรามีรหัสพิซซ่า - ทำให้ผูกติดไว้กับ pizzastore แต่ก็ไม่ได้มีความยืดหยุ่น ดังนั้นเราจะสามารถมีพิซซ่าของเราและได้รับประทานมากเกินไปหรือไม่?
ผมได้รับการทำพิซซ่าสำหรับปีดังนั้นผมคิดว่าผมอยากจะเพิ่มด้วยตัวของท่านเอง"การปรับปรุงของฉัน"เพื่อดำเนินการขั้นตอน pizzastore ที่

รูปแบบมาจากโรงงาน nypizzafactory nyfactory = nypizzafactory ใหม่() pizzastore nystore =ใหม่ pizzastore ( nyfactory ) nystore .ใบสั่งซื้อ"ผัก veggie crudite น้ำจิ้ม")
chicagopizzafactory chicagofactory = chicagopizzafactory ใหม่()pizzastore chicagostore =ใหม่ pizzastore ( chicagofactory ) chicagostore .ใบสั่งซื้อ"ผัก veggie crudite น้ำจิ้ม")
คุณจะอยู่ที่นี่ 4119
แล้วเราสร้าง pizzastore และผ่านการอ้างอิงที่โรงงาน.
NY และเมื่อเราทำให้เราได้รับพิซซ่าพิซซ่า, NY - มีสไตล์.
ในทำนองเดียวกันสำหรับจัดเก็บพิซซ่าชิคาโกที่เราสร้างโรงงานสำหรับพิซซ่าชิคาโกและสร้างจัดเก็บที่ประกอบด้วยโรงงานชิคาโก.เมื่อเราทำให้เราได้รับพิซซ่ารสชาติแสนอร่อยที่ชิคาโก
ไม่ใช่อะไรที่คุณต้องการในธุรกิจแฟรนไชส์ที่ดี คุณต้องการทราบว่าสิ่งที่เขาทำให้กับพิซซ่าของเขาไม่ได้
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: