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

17
ทำไมรัฐโลกถึงชั่วร้าย?
ก่อนที่เราจะเริ่มสิ่งนี้ให้ฉันบอกว่าฉันตระหนักดีถึงแนวคิดของ Abstraction และ Dependency Injection ฉันไม่ต้องการตาที่เปิดอยู่ที่นี่ พวกเราส่วนใหญ่พูดกันหลายครั้งโดยไม่เข้าใจว่า "อย่าใช้ตัวแปรทั่วโลก" หรือ "ซิงเกิลตันนั้นชั่วร้ายเพราะเป็นโลก" แต่จริงๆสิ่งที่เป็นเลวร้ายเกี่ยวกับสถานะทั่วโลกเป็นลางไม่ดี? สมมติว่าฉันต้องการการกำหนดค่าทั่วโลกสำหรับแอปพลิเคชันของฉันเช่นเส้นทางของโฟลเดอร์ระบบหรือหนังสือรับรองฐานข้อมูลทั่วทั้งแอปพลิเคชัน ในกรณีนี้ฉันไม่เห็นวิธีแก้ปัญหาที่ดีนอกจากการจัดเตรียมการตั้งค่าเหล่านี้ในพื้นที่ส่วนกลางบางประเภทซึ่งโดยทั่วไปจะพร้อมใช้งานสำหรับแอปพลิเคชันทั้งหมด ฉันรู้ว่ามันไม่ดีที่จะละเมิดมัน แต่เป็นพื้นที่ทั่วโลกจริงๆที่ชั่ว? และถ้าเป็นเช่นนั้นมีทางเลือกอะไรที่ดีบ้าง?

22
globals ต่างจากฐานข้อมูลอย่างไร?
ฉันเพิ่งเจอคำถามเก่า ๆ ที่ถามว่าอะไรคือความชั่วร้ายเกี่ยวกับสถานะโลกและคำตอบที่ได้รับการยอมรับอันดับต้น ๆ ยืนยันว่าคุณไม่สามารถเชื่อถือรหัสใด ๆ ที่ทำงานกับตัวแปรทั่วโลกได้เพราะบางรหัสอื่นอาจมารวมกัน ค่าแล้วคุณไม่ทราบว่าพฤติกรรมของรหัสของคุณจะเป็นเพราะข้อมูลที่แตกต่างกัน! แต่เมื่อฉันดูที่ฉันไม่สามารถช่วย แต่คิดว่านั่นเป็นคำอธิบายที่อ่อนแอจริงๆเพราะวิธีการที่แตกต่างจากการทำงานกับข้อมูลที่เก็บไว้ในฐานข้อมูล? เมื่อโปรแกรมของคุณทำงานกับข้อมูลจากฐานข้อมูลคุณไม่สนใจว่ารหัสอื่นในระบบของคุณจะเปลี่ยนมันหรือแม้ว่าโปรแกรมที่แตกต่างกันอย่างสิ้นเชิงจะเปลี่ยนมันสำหรับเรื่องนั้น คุณไม่สนใจว่าข้อมูลคืออะไร; นั่นคือจุดทั้งหมด สิ่งที่สำคัญคือรหัสของคุณเกี่ยวข้องกับข้อมูลที่ถูกต้อง (เห็นได้ชัดว่าฉันกำลังคัดสรรปัญหาแคชที่นี่บ่อยครั้ง แต่ก็ไม่สนใจเลยสักครู่) แต่ถ้าข้อมูลที่คุณทำงานมาจากแหล่งภายนอกที่รหัสของคุณไม่สามารถควบคุมได้เช่นฐานข้อมูล (หรือผู้ใช้อินพุตหรือซ็อกเก็ตเครือข่ายหรือไฟล์ ฯลฯ ... ) และไม่มีอะไรผิดปกติ ถ้าอย่างนั้นข้อมูลทั่วโลกภายในโค้ดนั้น - ซึ่งโปรแกรมของคุณมีการควบคุมในระดับที่ดีกว่ามาก - สิ่งที่ไม่ดีเมื่อเห็นได้ชัดว่าเลวร้ายน้อยกว่าสิ่งปกติอย่างสมบูรณ์แบบที่ไม่มีใครเห็นว่าเป็นปัญหา
250 state  globals 

8
วิธีทำให้แอพพลิเคชั่นไร้สัญชาติ
นี่อาจเป็นคำถามที่ซับซ้อน แต่ฉันพยายามเข้าใจความไร้สัญชาติมากขึ้น แอปพลิเคชันบนเว็บควรไร้สัญชาติหมายความว่าคำขอแต่ละรายการถือว่าเป็นธุรกรรมที่เป็นอิสระจากสิ่งที่ฉันได้อ่าน ดังนั้นควรหลีกเลี่ยงเซสชันและคุกกี้ (เนื่องจากทั้งคู่มีสถานะเป็นของรัฐ) วิธีที่ดีกว่าคือใช้โทเค็นซึ่งไร้สัญชาติเพราะไม่มีสิ่งใดถูกเก็บไว้บนเซิร์ฟเวอร์ ดังนั้นฉันจึงพยายามที่จะเข้าใจว่าเว็บแอปพลิเคชันจะไร้สัญชาติได้อย่างไรเมื่อมีข้อมูลที่ถูกเก็บไว้ในเซสชันของฉัน (เช่นรายการในตะกร้าสินค้า) จริง ๆ แล้วสิ่งเหล่านี้ถูกจัดเก็บในฐานข้อมูลที่ไหนสักแห่งแล้วถูกกำจัดเป็นระยะ ๆ ? มันทำงานอย่างไรเมื่อคุณใช้โทเค็นแทนคุกกี้? และจากคำถามที่เกี่ยวข้องเว็บไซต์หลัก (Amazon, Google, Facebook, Twitter และอื่น ๆ ) ไร้สัญชาติจริงๆหรือ? พวกเขาใช้โทเค็นหรือคุกกี้ (หรือทั้งสองอย่าง)?

4
รัฐอะไรรัฐที่เปลี่ยนแปลงไม่ได้และรัฐที่ไม่เปลี่ยนรูป?
นี่เป็นคำถามสำหรับมือใหม่ แต่ฉันไม่พบคำตอบที่เพียงพอสำหรับมือใหม่ใน Google ผู้คนหมายถึงอะไรเมื่อพวกเขาพูดว่า 'state' - ในการเขียนโปรแกรมโดยทั่วไปและในการเขียนโปรแกรม OO โดยเฉพาะ? นอกจากนี้รัฐที่ไม่แน่นอนและไม่แน่นอนคืออะไร - อีกครั้งโดยทั่วไปในการเขียนโปรแกรมและยังเฉพาะใน OOP?
32 state 

5
ฟังก์ชั่นการเขียนโปรแกรม: แนวคิดที่ถูกต้องเกี่ยวกับการทำงานพร้อมกันและรัฐ
ผู้เสนอ FP อ้างว่าภาวะพร้อมกันนั้นง่ายเนื่องจากกระบวนทัศน์ของพวกเขาหลีกเลี่ยงสภาวะที่ไม่แน่นอน ฉันไม่เข้าใจ ลองจินตนาการว่าเรากำลังสร้างการรวบรวมข้อมูลดันเจี้ยนแบบผู้เล่นหลายคน (โร๊คไลค์) โดยใช้ FP ที่เราเน้นฟังก์ชั่นที่บริสุทธิ์และโครงสร้างข้อมูลที่ไม่เปลี่ยนรูป เราสร้างดันเจี้ยนที่ประกอบด้วยห้องโถงทางเดินวีรบุรุษมอนสเตอร์และของขวัญ โลกของเราเป็นกราฟวัตถุของโครงสร้างและความสัมพันธ์อย่างมีประสิทธิภาพ เมื่อสิ่งต่าง ๆ เปลี่ยนการเป็นตัวแทนของโลกเราก็จะได้รับการแก้ไขเพื่อสะท้อนการเปลี่ยนแปลงเหล่านั้น ฮีโร่ของเราฆ่าหนูหยิบดาบสั้น ฯลฯ สำหรับฉันโลก (ความเป็นจริงในปัจจุบัน) นำแนวคิดของรัฐนี้มาใช้และฉันขาดวิธีที่ FP เอาชนะสิ่งนี้ ในฐานะฮีโร่ของเราดำเนินการฟังก์ชั่นแก้ไขสถานะของโลก ดูเหมือนว่าการตัดสินใจทุกอย่าง (AI หรือมนุษย์) จะต้องขึ้นอยู่กับสถานะของโลกตามที่เป็นอยู่ในปัจจุบัน เราจะอนุญาตให้มีการทำงานพร้อมกันได้ที่ไหน? เราไม่สามารถมีกระบวนการหลายอย่างพร้อมกันทำให้เป็นโมฆะสถานะของโลกว่ากระบวนการหนึ่งจะยึดผลลัพธ์ของมันในบางสถานะที่หมดอายุ ฉันรู้สึกว่าการควบคุมทั้งหมดควรเกิดขึ้นภายในลูปควบคุมเดียวเพื่อให้เราประมวลผลสถานะปัจจุบันที่แสดงด้วยกราฟวัตถุปัจจุบันของโลก เห็นได้ชัดว่ามีสถานการณ์ที่เหมาะอย่างยิ่งสำหรับการเกิดพร้อมกัน (เช่นเมื่อการประมวลผลงานแยกที่มีสถานะเป็นอิสระจากกัน) ฉันไม่เห็นว่าการใช้งานพร้อมกันมีประโยชน์ในตัวอย่างของฉันอย่างไรและนั่นอาจเป็นปัญหา ฉันอาจแสดงข้อเรียกร้องผิด ๆ บางคนสามารถเป็นตัวแทนของการอ้างสิทธิ์นี้ได้ดีขึ้นหรือไม่

1
มีรูปแบบที่เป็นทางการที่ดีในการจัดการสถานะใน MVVM หรือไม่?
ฉันเริ่มเรียนรู้เกี่ยวกับ Redux และ React ในเว็บโลกและยิ่งฉันเรียนรู้มากเท่าไหร่ฉันก็ยิ่งรู้ว่าการจัดการสถานะเจ็บปวดในเดสก์ท็อปโลกด้วยสถาปัตยกรรมสไตล์ MVVM ของ WPF (โดยใช้ Caliburn โดยเฉพาะเพื่อผูกมัด Views ไปยัง ViewModels) Redux มีหลักการง่ายๆสองสามข้อที่บอกให้ทราบว่ารัฐควรจัดการอย่างไรการปรับปรุง UI การจัดการเหตุการณ์และการเปลี่ยนแปลงสถานะสามารถคาดการณ์ได้มากขึ้น หลักการคือ: แหล่งความจริงเดียว (สถานะที่ไม่แน่นอนทั้งหมดจะถูกเก็บไว้ในวัตถุที่ใช้ร่วมกันเดียว) สถานะเป็นแบบอ่านอย่างเดียว มันไม่สามารถแก้ไขได้โดยส่วนประกอบผ่านรหัสซึ่งมักจะเกิดขึ้นใน WPF สถานะสามารถแก้ไขได้โดยฟังก์ชันบริสุทธิ์เท่านั้น สถาปัตยกรรม MVVM ของ WPF ช่วยให้คุณสามารถสร้างมุมมองแบบโต้ตอบได้อย่างรวดเร็ว แต่การดีบักปัญหาเมื่อ viewmodels และเหตุการณ์ต่าง ๆ เปลี่ยนสถานะทั้งหมดเป็นฝันร้าย ตัวอย่างเช่นเหตุการณ์ที่ทำให้เกิดการเปลี่ยนแปลงมุมมองและพยายามตั้งค่าแท็บเริ่มต้น แต่ข้อมูลยังไม่เสร็จสิ้นการโหลดแบบอะซิงโครนัสจากเว็บเซอร์วิสดังนั้นแท็บจึงไม่มีอยู่ (ยัง) จึงไม่มีอะไรเกิดขึ้น ฉันใช้เวลาหลายชั่วโมงในการวาดไดอะแกรมเพื่อลองและทำความเข้าใจกับการโต้ตอบที่ซับซ้อนระหว่างองค์ประกอบ viewModels ที่เกี่ยวกับอินเตอร์ที่อัปเดตกัน ฉันเข้าใจว่า Redux ตั้งเป้าหมายที่จะแก้ปัญหาความไม่แน่นอนในเรื่องนี้ มีบางอย่างที่คล้ายกันหรือรูปแบบสถาปัตยกรรมที่เหมาะกับ WPF เพื่อช่วยจัดการสถานะให้ดีขึ้นหรือไม่? ฉันไม่แน่ใจว่าหลักการ Redux …
21 wpf  mvvm  state  redux 

2
เป็นความคิดที่ดีหรือไม่ที่จะกำหนดฟังก์ชั่นส่วนตัวขนาดใหญ่หนึ่งตัวในคลาสเพื่อรักษาสถานะที่ถูกต้องนั่นคือเพื่ออัพเดทข้อมูลสมาชิกของวัตถุ?
แม้ว่าในรหัสด้านล่างจะใช้การซื้อรายการเดียวอย่างง่ายในไซต์อีคอมเมิร์ซคำถามทั่วไปของฉันคือการอัปเดตข้อมูลสมาชิกทั้งหมดเพื่อให้ข้อมูลของวัตถุอยู่ในสถานะที่ถูกต้องตลอดเวลา ฉันพบว่า "ความสอดคล้อง" และ "สถานะเป็นสิ่งที่ชั่วร้าย" เป็นวลีที่เกี่ยวข้องซึ่งได้กล่าวถึงที่นี่: https://en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price = 0; private $shipping = 5; // default private $tax = 0; private $taxPC = 5; // fixed private $totalCost = 0; /* private function to update all relevant data members */ private function updateAllDataMembers() { $this->tax …

3
“ สถานะ” หรือ“ สถานะ”? เมื่อใดที่ชื่อตัวแปรควรมีคำว่า "state" และเมื่อใดที่ชื่อตัวแปรควรมีคำว่า "สถานะ" แทน? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา การอ่านรหัสและการอภิปรายเกี่ยวกับรหัสฉันมักจะเห็นคำว่า "สถานะ" และ "สถานะ" ใช้แทนกันได้ แต่มีแนวโน้มต่อไปนี้: เมื่อตัวแปรมีค่าไว้เพื่อแสดงว่ามีบางสิ่งอยู่ในสถานะหนึ่งชื่อของตัวแปรนั้นมักจะไม่ประกอบด้วยคำว่า "สถานะ" หรือตัวย่อของตัวแปรนั้น อย่างไรก็ตามเมื่อค่าส่งคืนของฟังก์ชันทำหน้าที่เพื่อระบุสถานะบางอย่างเรามักจะเรียกค่านั้นว่า "รหัสสถานะ" และเมื่อค่านั้นถูกเก็บไว้ในตัวแปรตัวแปรนี้มักมีชื่อว่า "สถานะ" หรือบางอย่างที่คล้ายกัน การแยกนั้นเป็นสิ่งที่ดีฉันเดา แต่เมื่อตัวแปรดังกล่าวเป็นจริงและตัวเลือกจะต้องเลือกที่เกี่ยวข้องกับความซับซ้อนในทางที่ผิดของภาษาอังกฤษ (หรือภาษามนุษย์โดยทั่วไป) อะไรคือรหัสมาตรฐานหรือแบบแผนที่เด่นชัดเมื่อพูดถึงการแก้ปัญหาระหว่างทั้งสอง หรือควรหลีกเลี่ยงหนึ่งในสองอย่างนี้เสมอ? คำถาม english.stackexchangeนี้เกี่ยวข้องด้วยฉันคิดว่า

4
ประโยชน์ของรูปแบบ IO monad สำหรับการจัดการผลข้างเคียงทางวิชาการล้วนๆหรือไม่?
ขออภัยสำหรับคำถามข้างเคียงอีกคำถามของ FP + แต่ฉันไม่พบคำถามที่มีอยู่ซึ่งตอบคำถามนี้ให้ฉันได้ ความเข้าใจของฉัน (จำกัด ) ของการเขียนโปรแกรมเชิงฟังก์ชันคือผลกระทบของรัฐ / ผลข้างเคียงควรถูกย่อให้เล็กสุดและแยกจากตรรกะไร้สัญชาติ ฉันยังรวบรวมวิธีการของ Haskell เพื่อทำสิ่งนี้ IO monad ประสบความสำเร็จในการทำสิ่งนี้ด้วยการห่อตัวการกระทำแบบ stateful ไว้ในคอนเทนเนอร์เพื่อการดำเนินการในภายหลังโดยพิจารณานอกขอบเขตของโปรแกรม ฉันพยายามที่จะเข้าใจรูปแบบนี้ แต่จริงๆแล้วเพื่อตรวจสอบว่าจะใช้ในโครงการ Python หรือไม่ดังนั้นต้องการหลีกเลี่ยง Haskell ถ้ามี ตัวอย่างที่เข้ามาหยาบ หากโปรแกรมของฉันแปลงไฟล์ XML เป็นไฟล์ JSON: def main(): xml_data = read_file('input.xml') # impure json_data = convert(xml_data) # pure write_file('output.json', json_data) # impure ไม่ใช่วิธีการของ IO monad ในการทำสิ่งนี้อย่างมีประสิทธิภาพ: steps …

2
อินเทอร์เฟซที่ไม่มีผลข้างเคียงที่ด้านบนของไลบรารี stateful
ในการให้สัมภาษณ์กับ John Hughesที่ซึ่งเขาพูดเกี่ยวกับ Erlang และ Haskell เขามีดังต่อไปนี้ที่จะพูดเกี่ยวกับการใช้ห้องสมุด stateful ใน Erlang: ถ้าฉันต้องการใช้ไลบรารี stateful ฉันมักจะสร้างอินเทอร์เฟซที่ไม่มีผลข้างเคียงเพื่อให้ฉันสามารถใช้อย่างปลอดภัยในส่วนที่เหลือของรหัสของฉัน สิ่งนี้หมายความว่าอย่างไร ฉันพยายามคิดถึงตัวอย่างว่าสิ่งนี้จะมีลักษณะอย่างไร แต่จินตนาการและ / หรือความรู้ของฉันทำให้ฉันล้มเหลว

11
IllegalStateException ที่ดีกว่าหรือการดำเนินการเมธอดแบบเงียบคืออะไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา สมมติว่าฉันมีคลาส MediaPlayer ซึ่งมีวิธีเล่น () และหยุด () อะไรคือกลยุทธ์ที่ดีที่สุดที่จะใช้เมื่อใช้วิธีการหยุดในกรณีที่ยังไม่ได้เรียกวิธีการเล่นมาก่อน ฉันเห็นสองตัวเลือก: โยนข้อยกเว้นเนื่องจากผู้เล่นไม่อยู่ในสถานะที่เหมาะสมหรือเพิกเฉยต่อการโทรไปยังวิธีการหยุดอย่างเงียบ ๆ สิ่งที่ควรเป็นกฎทั่วไปเมื่อเมธอดไม่ควรถูกเรียกในบางสถานการณ์ แต่การดำเนินการมันไม่เป็นอันตรายต่อโปรแกรมโดยทั่วไป?

4
คำจำกัดความของ "รัฐ"
เป็นวิธีที่ดีในการกำหนด "รัฐ" เช่นเดียวกับในรัฐตัวแปรหรือเครื่องรัฐเป็นโปรแกรมเมอร์ใหม่ (ไม่ใช่ก่อนหน้านี้) คืออะไร? อะไรคือวิธีที่ดีในการอธิบายว่าทำไมแนวคิดนี้มีประโยชน์สำหรับการเขียนซอฟต์แวร์? แนวคิดของรัฐสอนอย่างชัดเจนในการเริ่มต้นหลักสูตรการเขียนโปรแกรมหรือหนังสือทั่วไปหรือไม่?

4
กระบวนทัศน์การทำงานไม่แตกต่างกันมากเกินไปกับฮาร์ดแวร์พื้นฐานที่จะมีประสิทธิภาพโดยทั่วไป?
แรงบันดาลใจจากคำถามจาก SO: /programming/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell มันอาจเป็นการถกเถียงกันมานานเกี่ยวกับข้อดีและข้อเสียของ FP มากมาย แต่สำหรับตอนนี้ฉันต้องการ จำกัด ขอบเขตของ FP ที่มีประสิทธิภาพหลักสำหรับฮาร์ดแวร์ที่ทันสมัย วิทยานิพนธ์: กระบวนทัศน์การใช้งานหมายถึงความไม่สามารถเปลี่ยนแปลงได้และไร้สัญชาติ (?) แต่ฮาร์ดแวร์ที่เราเรียกใช้โปรแกรมการทำงานนั้นเป็นสถานะออโตมาต้าอัน จำกัด การแปลโปรแกรม 'ฟังก์ชั่นที่ใช้งานได้จริง' เป็น 'การแสดงสถานะฮาร์ดแวร์' ทำให้การควบคุมเพียงเล็กน้อยสำหรับโปรแกรมเมอร์ทำให้โอเวอร์เฮด (?) และ จำกัด การใช้ความสามารถของฮาร์ดแวร์ ฉันถูกหรือผิดในข้อความที่ถาม? มันสามารถพิสูจน์ได้ว่า FP ทำ / ไม่ได้บอกถึงการลงโทษด้านประสิทธิภาพที่สำคัญของสถาปัตยกรรมคอมพิวเตอร์ที่มีวัตถุประสงค์ทั่วไปที่ทันสมัยหรือไม่? แก้ไข: ตามที่ฉันได้กล่าวแล้วในการตอบสนองต่อความคิดเห็นบางคำถามไม่ได้เกี่ยวกับประสิทธิภาพการใช้งานและรายละเอียด มันเกี่ยวกับการมีอยู่หรือไม่มีค่าโสหุ้ยหลักที่ใช้ FP กับออโตมาตะแบบ stateful อาจนำมาซึ่ง

5
สามารถใช้งานโปรแกรมใด ๆ ของ * ที่ไม่มีสถานะได้หรือไม่?
นี่เป็นคำถามเชิงทฤษฎี แต่หลังจากหลายปีของการเขียนโปรแกรมในสิ่งที่ฉันรู้ตอนนี้คือเทคนิค "ปกติ" ที่จำเป็นโดยใช้ C ++ ส่วนใหญ่ฉันได้ค้นพบโลกแห่งการเขียนโปรแกรมเชิงปฏิบัติการอีกครั้งซึ่งฉันบังเอิญบังเอิญเรียนรู้ JavaScript นี่ทำให้ฉันสงสัยว่าคุณสามารถแทนที่โปรแกรมเชิงรัฐที่สมบูรณ์ด้วยการใช้งานที่แตกต่างกันซึ่งใช้งานได้จริงและไม่มีรัฐหรือไม่? มันเป็นความคิดที่น่าสนใจและฉันต้องยอมรับว่ามีความชัดเจนและความสง่างามในการเขียนโปรแกรมฟังก์ชั่นที่ทำให้ใจของฉันแย่จริงๆ

1
เรากำลังใช้วิธีการคงที่หรือไม่?
สองสามเดือนที่ผ่านมาฉันเริ่มทำงานในโครงการใหม่และเมื่อผ่านรหัสมันทำให้ฉันจำนวนคงที่วิธีการแบบคงที่ ไม่เพียง แต่วิธีการใช้งานยูทิลิตี้collectionToCsvString(Collection<E> elements)แต่ยังมีตรรกะทางธุรกิจมากมาย เมื่อผมถามคนที่มีความรับผิดชอบสำหรับเหตุผลที่อยู่เบื้องหลังนี้เขาบอกว่ามันเป็นวิธีการหนีออกจากการปกครองแบบเผด็จการของฤดูใบไม้ผลิ มันมีบางสิ่งที่อยู่รอบกระบวนการคิดนี้: เพื่อใช้วิธีการสร้างการรับลูกค้าเราอาจมีบริการ @Service public class CustomerReceiptCreationService { public CustomerReceipt createReceipt(Object... args) { CustomerReceipt receipt = new CustomerReceipt(); // creation logic return receipt; } } ตอนนี้ผู้ชายคนนั้นบอกว่าเขาไม่ชอบที่จะมีคลาสที่จัดการโดยสปริงโดยไม่จำเป็นเพราะมันมีข้อ จำกัด ว่าคลาสไคลเอนต์จะต้องเป็นสปริงบีนเอง เราจบลงด้วยการจัดการทุกอย่างในฤดูใบไม้ผลิซึ่งบังคับให้เราทำงานกับวัตถุไร้สัญชาติอย่างเป็นขั้นตอน มากหรือน้อยที่ระบุไว้ที่นี่https://www.javacodegeeks.com/2011/02/domain-driven-design-spring-aspectj.html ดังนั้นแทนที่จะเป็นรหัสข้างต้นเขามี public class CustomerReceiptCreator { public static CustomerReceipt createReceipt(Object... args) { CustomerReceipt receipt = new CustomerReceipt(); …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.