คำถามติดแท็ก factory

19
อะไรคือความแตกต่างพื้นฐานระหว่างรูปแบบการออกแบบจากโรงงานและบทคัดย่อ? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา อะไรคือความแตกต่างพื้นฐานระหว่างรูปแบบโรงงานและรูปแบบนามธรรม?


7
รูปแบบการออกแบบ: โรงงานกับวิธีการของโรงงานเทียบกับบทคัดย่อจากโรงงาน
ฉันอ่านรูปแบบการออกแบบจากเว็บไซต์ มีฉันอ่านเกี่ยวกับโรงงานวิธีการโรงงานและโรงงานนามธรรม แต่พวกเขาสับสนดังนั้นไม่ชัดเจนในคำจำกัดความ ตามคำจำกัดความ Factory - สร้างวัตถุโดยไม่ต้องเปิดเผยเหตุผลของการสร้างอินสแตนซ์ไปยังไคลเอนต์และอ้างถึงวัตถุที่สร้างขึ้นใหม่ผ่านทางอินเตอร์เฟสทั่วไป เป็นวิธีการที่ง่ายจากเวอร์ชันโรงงาน วิธีการจากโรงงาน - กำหนดอินเทอร์เฟซสำหรับการสร้างวัตถุ แต่ให้คลาสย่อยเพื่อตัดสินใจว่าคลาสใดที่จะสร้างอินสแตนซ์และอ้างถึงวัตถุที่สร้างขึ้นใหม่ผ่านอินเทอร์เฟซทั่วไป Abstract Factory - เสนออินเทอร์เฟซสำหรับสร้างตระกูลของวัตถุที่เกี่ยวข้องโดยไม่ต้องระบุคลาสของพวกเขาอย่างชัดเจน ฉันยังดูเธรดสแต็คโฟลว์อื่น ๆ ที่เกี่ยวข้องกับ Abstract Factory กับ Factory Factory แต่ไดอะแกรม UML ที่นั่นทำให้ฉันเข้าใจยิ่งขึ้น ใครช่วยบอกหน่อยได้ไหม รูปแบบทั้งสามนี้แตกต่างกันอย่างไร จะใช้เมื่อใด และถ้าเป็นไปได้ตัวอย่าง Java ใด ๆ ที่เกี่ยวข้องกับรูปแบบเหล่านี้?

11
วิธีการตั้งชื่อโรงงานเช่นวิธีการ?
createผมคิดว่าส่วนใหญ่โรงงานเช่นวิธีการเริ่มต้นด้วย แต่ทำไมถึงเรียกว่า " สร้าง " ทำไมไม่ " สร้าง ", " สร้าง ", " สร้าง ", " สร้าง " หรืออย่างอื่น มันเป็นเพียงเรื่องของการลิ้มรสหรือไม่? การประชุมหรือไม่? หรือมีความหมายพิเศษใน "สร้าง"? createURI(...) makeURI(...) produceURI(...) buildURI(...) generateURI(...) คุณจะเลือกแบบไหนและทำไม?

9
มีวิธีในการยกตัวอย่างวัตถุจากสตริงที่มีชื่อชั้นของพวกเขาหรือไม่?
ฉันมีไฟล์: Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ และไฟล์อื่น: BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new DerivedB(); } else …

3
java: comp / env / do คืออะไร?
ฉันใช้เวลาในแต่ละวันมากเกินไปในการพยายามหาข้อผิดพลาดบางอย่างเมื่อเชื่อมต่อถั่วโรงงาน JNDI ปัญหากลับกลายเป็นว่าแทนที่จะเป็นแบบนี้ ... <bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/loc"/> </bean> ฉันได้เขียนสิ่งนี้จริงๆ ... <bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/loc"/> </bean> ฉันสรุปได้ว่าjava:comp/env/บางทีอาจอ้างถึงตัวแปรสภาพแวดล้อมบางอย่างและทำให้เป็นเช่นนั้นในที่สุดไฟล์บริบทของฉันจะถูกดู java:comp/env/ความแตกต่างเพียงอย่างเดียวคือ จากปากผู้เชี่ยวชาญนั่นทำอะไร? โดยไม่ต้องjava:comp/env/คำนำหน้าในมูลค่าที่ฉันจะได้รับข้อผิดพลาดที่กล่าวว่า"ชื่อ JDBC ไม่ผูกพันในบริบทนี้"
116 spring  jdbc  jndi  factory 

17
รูปแบบโรงงานใน C #: จะแน่ใจได้อย่างไรว่าอินสแตนซ์ออบเจ็กต์สามารถสร้างได้โดยคลาสโรงงานเท่านั้น
เมื่อเร็ว ๆ นี้ฉันคิดเกี่ยวกับการรักษาความปลอดภัยของรหัสของฉัน ฉันอยากรู้ว่าเราจะแน่ใจได้อย่างไรว่าจะไม่สามารถสร้างวัตถุได้โดยตรง แต่ด้วยวิธีการบางอย่างของคลาสโรงงานเท่านั้น สมมติว่าฉันมีคลาส "วัตถุทางธุรกิจ" และฉันต้องการตรวจสอบให้แน่ใจว่าอินสแตนซ์ใด ๆ ของคลาสนี้จะมีสถานะภายในที่ถูกต้อง เพื่อให้บรรลุสิ่งนี้ฉันจะต้องทำการตรวจสอบบางอย่างก่อนที่จะสร้างวัตถุอาจอยู่ในตัวสร้าง ทั้งหมดนี้ไม่เป็นไรจนกว่าฉันจะตัดสินใจว่าต้องการให้การตรวจสอบนี้เป็นส่วนหนึ่งของตรรกะทางธุรกิจ ดังนั้นฉันจะจัดให้ออบเจ็กต์ทางธุรกิจสามารถสร้างได้โดยใช้วิธีการบางอย่างในคลาสตรรกะทางธุรกิจของฉัน แต่ไม่สามารถสร้างได้โดยตรงได้อย่างไร ความปรารถนาแรกตามธรรมชาติที่จะใช้คีย์เวิร์ด "เพื่อน" เก่าที่ดีของ C ++ จะขาดหายไปกับ C # ดังนั้นเราจึงต้องการทางเลือกอื่น ... ลองดูตัวอย่าง: public MyBusinessObjectClass { public string MyProperty { get; private set; } public MyBusinessObjectClass (string myProperty) { MyProperty = myProperty; } } public MyBusinessLogicClass { public …

8
บริการที่ไม่ใช่ Singleton ใน AngularJS
AngularJS ระบุอย่างชัดเจนในเอกสารว่า Services เป็น Singletons: AngularJS services are singletons ในทางตรงกันข้ามmodule.factoryยังส่งคืนอินสแตนซ์ Singleton ระบุว่ามีความอุดมสมบูรณ์ของกรณีการใช้งานสำหรับการให้บริการที่ไม่ใช่เดี่ยวสิ่งที่เป็นวิธีที่ดีที่สุดที่จะใช้วิธีการที่โรงงานจะกลับมากรณีของการบริการเพื่อให้แต่ละครั้งที่มีการExampleServiceพึ่งพาการประกาศก็เป็นที่พอใจโดยอินสแตนซ์ที่แตกต่างกันExampleService?

5
AngularJS: โรงงาน $ http. รับไฟล์ JSON
ฉันต้องการพัฒนาในเครื่องด้วยไฟล์ JSON แบบฮาร์ดโค้ด ไฟล์ JSON ของฉันมีดังต่อไปนี้ (ถูกต้องเมื่อใส่ลงในโปรแกรมตรวจสอบ JSON): { "contentItem": [ { "contentID" : "1", "contentVideo" : "file.mov", "contentThumbnail" : "url.jpg", "contentRating" : "5", "contentTitle" : "Guitar Lessons", "username" : "Username", "realname" : "Real name", "contentTags" : [ { "tag" : "Guitar"}, { "tag" : "Intermediate"}, { "tag" : "Chords"} …
84 json  http  angularjs  factory 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.