วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

7
คุณช่วยอธิบายได้ไหมว่าเหตุใดเธรดจำนวนมากต้องการล็อคบน CPU แบบคอร์เดียว
สมมติว่าเธรดเหล่านี้ทำงานในซีพียูแกนเดียว ในฐานะที่เป็นซีพียูทำงานเพียงคำสั่งเดียวในรอบ แม้จะคิดว่าพวกเขาแบ่งปันทรัพยากรซีพียู แต่คอมพิวเตอร์รับรองว่าครั้งเดียวหนึ่งคำสั่ง ดังนั้นล็อคไม่จำเป็นสำหรับเธรดหลาย ๆ

8
ทีมว่องไวที่เป็นผู้ใหญ่ต้องการการจัดการหรือไม่?
หลังจากการถกเถียงกันอย่างดุเดือดเมื่อเร็ว ๆ นี้เกี่ยวกับ Scrum ฉันรู้ว่าปัญหาของฉันคือฉันคิดว่าการจัดการเป็นกิจกรรมที่ไม่จำเป็นและซ้ำซ้อนในทีมที่คล่องตัว ฉันเชื่อว่าทีม Agile ที่เป็นผู้ใหญ่ไม่ต้องการการจัดการหรือกระบวนการตัดสินใจใด ๆ ที่ไม่ใช่ด้านเทคนิคใด ๆ สำหรับสายตาของฉัน (เห็นได้ชัดว่าผิดพลาด) เป็นที่ชัดเจนว่ามีเพียงคนเดียวที่เหมาะสมและมีความสามารถในการจัดการทีมพัฒนาที่เป็นผู้ใหญ่คือโค้ชของพวกเขา (ซึ่งเป็นเพื่อนร่วมงานที่มีความสามารถด้านเทคนิคมากที่สุด ฉันไม่สามารถจินตนาการได้ว่าอาจารย์แย่งชิงสามารถมีส่วนร่วมกับทีมเช่นนี้ได้อย่างไร ฉันมีความยากลำบากอย่างมากในการตระหนักและเข้าใจถึงคุณค่าของสิ่งต่าง ๆ ใน Scrum และผู้จัดการในฐานะคนที่ไม่ใช่นักพัฒนามืออาชีพ แต่มีความเชี่ยวชาญในการวางแผนรอบการผลิตเมื่อมีโค้ชอยู่ในทีม มันหมายความว่ายังไง? ใครบางคนในโลกที่ไม่มีทักษะการพัฒนาจะจัดการทีมเทคนิคอย่างสูงได้อย่างไร บางทีการจัดการที่นี่หมายถึงอะไรอย่างอื่น? ฉันเห็นว่าการจัดการเป็นเรื่องเสียเวลาและผลพลอยได้จากการที่ยังไม่บรรลุนิติภาวะ ในความเข้าใจของฉันทีมงานที่เป็นผู้ใหญ่นั้นมีการจัดการตนเองอย่างสมบูรณ์ เห็นได้ชัดว่าฉันเข้าใจผิดเพราะคนเก่ง ๆ หลายคนพูดตรงกันข้าม แต่ฉันไม่สามารถโน้มน้าวตัวเองได้

2
ทำไม Javascript ใช้ JSON.stringify แทน JSON.serialize
ฉันแค่สงสัยเกี่ยวกับ"stringify" VS "อันดับ" สำหรับผมพวกเขากำลังสิ่งเดียวกัน ( แต่ผมอาจจะผิด) แต่ในประสบการณ์ที่ผ่านมาของฉัน (ส่วนใหญ่กับasp.net ) ผมใช้และไม่เคยใช้Serialize()Stringify() ฉันรู้ว่าฉันสามารถสร้างนามแฝงง่ายๆใน Javascript // either JSON.serialize = function(input) { return JSON.stringify(input); }; // or JSON.serialize = JSON.stringify; http://jsfiddle.net/HKKUb/ แต่ฉันแค่สงสัยเกี่ยวกับความแตกต่างระหว่างสองและทำไมเลือก stringify เพื่อวัตถุประสงค์ในการเปรียบเทียบนี่คือวิธีที่คุณจัดลำดับ XML เป็นสตริงใน C # public static string SerializeObject<T>(this T toSerialize) { XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType()); StringWriter textWriter = new …
18 javascript 

4
ภาษาที่จัดการกับความแตกต่างของภาษาที่รวบรวมหรือไม่
ฉันสับสนเมื่อผู้คนพยายามสร้างความแตกต่างระหว่างภาษาที่รวบรวมและภาษาที่มีการจัดการ จากประสบการณ์ฉันเข้าใจว่าส่วนใหญ่พิจารณาภาษาที่คอมไพล์เป็น C, C ++ ในขณะที่ภาษาที่ได้รับการจัดการคือ Java, C # (มีอีกมากที่เห็นได้ชัด แต่นี่เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ ) แต่ความแตกต่างหลักระหว่างภาษาสองประเภทคืออะไร? ความเข้าใจของฉันคือว่าโปรแกรมใด ๆ ไม่ว่าภาษาใดที่คุณใช้จะถูก "รวบรวม" เป็นรหัสเครื่องในระดับต่ำซึ่งจะถูกตีความแล้วดังนั้นจึงทำให้ภาษาที่ได้รับการจัดการเป็นส่วนย่อยของภาษาที่รวบรวม (นั่นคือภาษาที่มีการจัดการทั้งหมด ภาษาที่คอมไพล์ แต่ไม่ใช่วิธีอื่น ๆ )

1
การปฏิบัติที่พึ่งพาการฉีด / IoC คอนเทนเนอร์เมื่อเขียนเฟรมเวิร์ก
ฉันใช้คอนเทนเนอร์ IoC (Castle.Windsor, Autofac, MEF และอื่น ๆ ) สำหรับ. Net ในหลายโครงการ ฉันพบว่าพวกเขามักจะถูกทารุณกรรมบ่อยครั้งและส่งเสริมการปฏิบัติที่ไม่ดี มีแนวทางปฏิบัติที่กำหนดไว้สำหรับการใช้คอนเทนเนอร์ IoC โดยเฉพาะอย่างยิ่งเมื่อมีการจัดทำแพลตฟอร์ม / กรอบงาน เป้าหมายของฉันในฐานะนักเขียนเฟรมเวิร์กคือการทำโค้ดให้ง่ายและใช้งานง่ายที่สุดเท่าที่จะทำได้ ฉันควรเขียนโค้ดหนึ่งบรรทัดเพื่อสร้างออบเจ็กต์มากกว่าสิบหรือแม้แต่แค่สอง ตัวอย่างเช่นโค้ดสองสามกลิ่นที่ฉันสังเกตเห็นและไม่มีคำแนะนำที่ดีในการ: พารามิเตอร์จำนวนมาก (> 5) สำหรับตัวสร้าง การสร้างบริการมีความซับซ้อน การพึ่งพาทั้งหมดจะถูกฉีดผ่านทางคอนสตรัคเตอร์ - แม้ว่าจะมีความจริงที่ว่าส่วนประกอบนั้นเป็นทางเลือกที่หาได้ยาก (ยกเว้นในการทดสอบ) การขาดคลาสส่วนตัวและภายใน อันนี้อาจเป็นข้อ จำกัด เฉพาะของการใช้ C # และ Silverlight แต่ฉันสนใจที่จะแก้ไขมันอย่างไร เป็นการยากที่จะบอกว่าอินเตอร์เฟสเฟรมเวิร์กคืออะไรถ้าคลาสทั้งหมดเป็นแบบสาธารณะ มันช่วยให้ฉันเข้าถึงชิ้นส่วนส่วนตัวที่ฉันไม่ควรแตะ เชื่อมวงจรชีวิตของวัตถุกับคอนเทนเนอร์ IoC มันมักจะยากที่จะสร้างการอ้างอิงที่จำเป็นในการสร้างวัตถุ วงจรชีวิตของวัตถุได้รับการจัดการบ่อยเกินไปโดยกรอบงาน IoC ฉันเห็นโปรเจ็กต์ที่ชั้นเรียนส่วนใหญ่ลงทะเบียนเป็นซิงเกิลตัน คุณขาดการควบคุมอย่างชัดเจนและถูกบังคับให้จัดการ internals (มันเกี่ยวข้องกับประเด็นข้างต้นทุกชั้นเป็นสาธารณะและคุณต้องฉีดมัน) ตัวอย่างเช่น. …

8
Python Coding มาตรฐานเทียบกับผลิตภาพ
ฉันทำงานให้กับองค์กรด้านมนุษยธรรมขนาดใหญ่โดยใช้ซอฟต์แวร์สร้างโครงการที่สามารถช่วยชีวิตผู้คนได้ในกรณีฉุกเฉินโดยเร่งการแจกจ่ายอาหาร องค์กรพัฒนาเอกชนหลายแห่งต้องการซอฟต์แวร์ของเราอย่างยิ่งยวด สิ่งหนึ่งที่ทำให้ฉันกังวลในโครงการนี้คือสิ่งที่ฉันคิดว่าเป็นจุดสนใจที่มากเกินไปในมาตรฐานการเข้ารหัส เราเขียนด้วยภาษาไพ ธ อน / django และใช้รุ่น PEP0008 โดยมีการดัดแปลงหลายอย่างเช่นความยาวบรรทัดสามารถสูงถึง 160 ตัวอักษรและทุกบรรทัดควรยาวมากถ้าเป็นไปได้ไม่มีบรรทัดว่างระหว่างการนำเข้ากฎการตัดบรรทัดที่ใช้ได้กับบางประเภทเท่านั้น ชั้นเรียนเทมเพลตมากมายที่เราต้องใช้แม้ว่ามันจะไม่ใช่วิธีที่ดีที่สุดในการแก้ปัญหา ฯลฯ นักพัฒนาซอฟต์แวร์หลักคนหนึ่งใช้เวลาหนึ่งสัปดาห์ในการเขียนส่วนสำคัญของระบบเพื่อให้ได้มาตรฐานการเข้ารหัสใหม่โดยทิ้งการทดสอบหลายชุดในกระบวนการเนื่องจากการเขียนซ้ำหมายถึงพวกเขาไม่ถูกต้อง เราใช้เวลาสองสัปดาห์ในการเขียนใหม่ฟังก์ชั่นทั้งหมดที่หายไปและแก้ไขข้อบกพร่อง เขาเป็นผู้นำในการพัฒนาและคำพูดของเขามีน้ำหนักดังนั้นเขาจึงโน้มน้าวผู้จัดการโครงการว่ามาตรฐานเหล่านี้จำเป็น devs รุ่นน้องทำตามที่บอก ฉันรู้สึกว่าผู้จัดการโครงการมีความรู้สึกที่แข็งแกร่งของความไม่ลงรอยกันเกี่ยวกับความรู้ความเข้าใจเกี่ยวกับเรื่องนี้ แต่ก็เห็นด้วยกับมันอย่างร้อนแรงในขณะที่เขารู้สึกไม่แน่ใจว่าจะทำอะไร วันนี้ฉันมีปัญหาร้ายแรงเพราะฉันลืมใส่ช่องว่างหลังจากเครื่องหมายจุลภาคในอาร์กิวเมนต์ของคำหลัก ฉันตะโกนโดยนักพัฒนาอีกสองคนและผู้จัดการโครงการระหว่างการโทรด้วย Skype โดยส่วนตัวฉันคิดว่ามาตรฐานการเข้ารหัสมีความสำคัญ แต่ก็คิดว่าเรากำลังเสียเวลาไปกับพวกเขามากและเมื่อฉันพูดแบบนี้มันทำให้โกรธมาก ฉันถูกมองว่าเป็นตัวก่อปัญหาในทีมทีมที่กำลังมองหาแพะรับบาปสำหรับความล้มเหลว ตั้งแต่การแนะนำมาตรฐานการเข้ารหัสประสิทธิภาพการทำงานของทีมได้ลดลงอย่างเห็นได้ชัด แต่สิ่งนี้เป็นการตอกย้ำความหลงใหลเช่นผู้นำ dev เพียงแค่โทษว่าเราไม่ปฏิบัติตามมาตรฐานสำหรับการขาดความก้าวหน้า เขาเชื่อว่าเราไม่สามารถอ่านรหัสของกันและกันได้หากเราไม่ปฏิบัติตามอนุสัญญา สิ่งนี้เริ่มทำให้เหนียว ตอนนี้ฉันกำลังพยายามแก้ไขสคริปต์ต่างๆ, autopep8, pep8ify และ PythonTidy เพื่อพยายามจับคู่อนุสัญญา นอกจากนี้เรายังเรียกใช้ pep8 เทียบกับซอร์สโค้ด แต่มีการแก้ไขโดยนัยมากมายสำหรับมาตรฐานของเราซึ่งยากที่จะติดตามพวกเขาทั้งหมด นักพัฒนานำง่ายๆเลือกข้อบกพร่องที่สคริปต์ pep8 ไม่ได้รับและตะโกนใส่เราในการประชุมสแตนด์อัพครั้งต่อไป ทุกสัปดาห์จะมีการเพิ่มมาตรฐานการเข้ารหัสใหม่ซึ่งบังคับให้เราเขียนรหัสที่มีอยู่, ใช้งาน, ที่ทดสอบอยู่ …

6
เมื่อใดที่จะชอบวิธีการแก้ปัญหาทั่วไปมากกว่าการแก้ปัญหาเฉพาะกรณี
ในการเขียนโปรแกรมเรามักจะเผชิญกับทางเลือก: ครอบคลุมแต่ละกรณีการใช้งานเป็นไปได้ทีละรายการหรือแก้ปัญหาทั่วไป: เห็นได้ชัดว่าการแก้ปัญหาในทันทีนั้นเร็วขึ้นอย่างไรก็ตามการสร้างโซลูชันทั่วไปจะช่วยประหยัดเวลาในอนาคต ฉันจะรู้ได้อย่างไรว่าเมื่อใดที่ดีที่สุดที่จะลองและครอบคลุมรายการที่ จำกัด ของกรณีหรือสร้างระบบทั่วไปเพื่อครอบคลุมความเป็นไปได้ทั้งหมด

6
การสืบทอดหลายรายการละเมิดหลักการความรับผิดชอบแบบเดี่ยวหรือไม่?
หากคุณมีคลาสที่สืบทอดมาจากคลาสที่แตกต่างกันสองคลาสนี่หมายความว่าคลาสย่อยของคุณทำสิ่งต่าง ๆ โดยอัตโนมัติ (อย่างน้อย) 2 อย่างสิ่งหนึ่งจากคลาสซุปเปอร์แต่ละอัน? ฉันเชื่อว่าไม่มีความแตกต่างหากคุณมีการสืบทอดหลายอินเตอร์เฟส แก้ไข: เพื่อความชัดเจนฉันเชื่อว่าหากคลาสย่อยหลายคลาสละเมิด SRP จากนั้นใช้หลายอินเทอร์เฟซ (ไม่ใช่ตัวทำเครื่องหมายหรืออินเทอร์เฟซพื้นฐาน (เช่นที่เปรียบเทียบได้)) ละเมิด SRP ด้วย

8
ควรจัดวาง GUI แบบกราฟิกโดยพิจารณาว่าเป็น“ การโกงหรือไม่”
ฉันมีเพื่อนที่มีประสบการณ์การเขียนโปรแกรมมากกว่าเล็กน้อย เรากำลังพูดถึงเทคโนโลยีการเขียนโปรแกรมที่แตกต่างกันทั้งหมดที่เราใช้และเครื่องมือสร้างส่วนต่อประสานมาในการสนทนา ความเป็นอยู่ของพื้นหลังไม่มีการเขียนโปรแกรมยกเว้นสำหรับสิ่งที่ผมเคยสอนตัวเองผมเองเชื่อว่า IB และคุณสมบัติของมัน ( IBOutlets, IBActions) ช่วยเหลือ coders ระดับความสามารถของฉัน (และทุกระดับความสามารถสำหรับเรื่องที่) โครงการที่สมบูรณ์แบบของพวกเขาในเวลาที่น้อยลง มุมมองของเขาเกี่ยวกับ IB นั้นค่อนข้างกระตือรือร้น เขาเชื่อว่าตัวแปลงสัญญาณที่ใช้ตัวสร้างส่วนต่อประสานนั้นเป็น "การโกง" ในความจริงที่ว่าพวกเขาไม่จำเป็นต้องจัดวางอินเทอร์เฟซด้วยตนเอง คำถาม: ควรใช้ตัวสร้าง GUI เพื่อจัดวางองค์ประกอบอินเทอร์เฟซควรถูกพิจารณาว่า "โกง" (เนื่องจากการเขียนโปรแกรมส่วนใหญ่จำเป็นต้องมีการวางอินเตอร์เฟสด้วยมือในโค้ด)? ทำไม?

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

3
เหตุใดตัวดำเนินการลูกศรใน C ++ จึงไม่ใช่เพียงนามแฝงของ *
ใน c ++ ตัวดำเนินการ * สามารถโอเวอร์โหลดได้เช่นกับตัววนซ้ำ แต่ตัวดำเนินการลูกศร (->) (. *) ไม่ทำงานกับคลาสที่โอเวอร์โหลดตัวดำเนินการ * ฉันจินตนาการว่าตัวประมวลผลล่วงหน้าสามารถแทนที่อินสแตนซ์ทั้งหมดของ -> ด้วย (* ซ้าย). right ได้อย่างง่ายดายและนั่นจะทำให้ iterators ดีกว่าที่จะใช้ มีเหตุผลในทางปฏิบัติสำหรับ -> แตกต่างหรือว่าเป็นเพียงลักษณะเฉพาะของภาษา / นักออกแบบ?
18 c++  operators 

11
ทำไมการใช้ System.out.println () แย่มาก? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา แน่นอนว่าเป็นการดีมากที่จะใช้กรอบการบันทึกสำหรับข้อความแสดงข้อผิดพลาดหรือคำเตือน แต่บางครั้งฉันใช้ System.out.println () ถ้าฉันต้องการลองสิ่งใหม่ ๆ ในเวลาอันสั้น การใช้ System.out.println () นั้นแย่มากจริง ๆ หรือไม่สำหรับการทดสอบอย่างรวดเร็ว?

3
เมื่อโปรแกรมเมอร์พูดถึง "โครงสร้างข้อมูล" พวกเขาจะอ้างถึงอะไร
เมื่อโปรแกรมเมอร์พูดคุยเกี่ยวกับ "โครงสร้างข้อมูล" ที่พวกเขาเพียงพูดคุยเกี่ยวกับชนิดข้อมูลนามธรรมเช่นรายการ , ต้นไม้ , แฮช , กราฟฯลฯ ? หรือคำนั้นรวมถึงโครงสร้างใด ๆ ที่เก็บข้อมูลเช่นประเภทคอมโพสิต (วัตถุคลาส, structs, enums ฯลฯ ) และประเภทดั้งเดิม (บูลีน, int, ถ่าน ฯลฯ )? ฉันเคยได้ยินโปรแกรมเมอร์ใช้คำว่าอ้างอิงโครงสร้างข้อมูลที่ซับซ้อนหรือชนิดข้อมูลนามธรรมอย่างไรก็ตามบทความ Wikipedia ที่ให้รายการโครงสร้างข้อมูลประกอบด้วยทั้งชนิดคอมโพสิตและชนิดดั้งเดิมในนิยามซึ่งไม่ใช่สิ่งที่ฉันคาดหวัง แม้ว่ามันจะสมเหตุสมผล) เมื่อดูทางออนไลน์ฉันเห็นสถานที่อื่น ๆ ที่อ้างถึงคำว่า "โครงสร้างข้อมูล" ในแง่การเขียนโปรแกรมเป็นเพียงการอ้างถึงประเภทข้อมูลนามธรรมเช่นการบรรยายนี้จาก Stony Brook ของภาควิชาวิทยาการคอมพิวเตอร์ซึ่งระบุ โครงสร้างข้อมูลเป็นการใช้งานจริงของชนิดข้อมูลนามธรรมเฉพาะ หรือwikibook นี้กับโครงสร้างข้อมูลซึ่งใช้คำในประโยคเช่นนี้ เนื่องจากโครงสร้างข้อมูลเป็น abstractions ระดับที่สูงกว่าจึงมีการดำเนินการกับกลุ่มข้อมูลเช่นการเพิ่มรายการลงในรายการหรือค้นหารายการที่มีลำดับความสำคัญสูงสุดในคิว เหตุใดฉันจึงเคยได้ยินโปรแกรมเมอร์อ้างถึงโครงสร้างข้อมูลที่ซับซ้อนหรือชนิดข้อมูลนามธรรมเมื่อพวกเขาใช้คำว่า "โครงสร้างข้อมูล" โปรแกรมเมอร์มีคำจำกัดความที่แตกต่างจากคำศัพท์มากกว่าพจนานุกรม

5
ผลกระทบของ P = NP คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังเตรียมตัวสำหรับการทดสอบและฉันไม่สามารถหาคำตอบที่ชัดเจนสำหรับคำถาม: สิ่งที่จะเป็นผลกระทบของการพิสูจน์ PTIME = NPTIME ฉันตรวจสอบวิกิพีเดียและเพิ่งพูดถึงว่ามันจะมี "ผลกระทบอย่างลึกซึ้งต่อคณิตศาสตร์ AI ขั้นตอนวิธี .. " เป็นต้น ใครสามารถให้คำตอบฉันได้บ้าง

2
จะวางไฟล์กำหนดค่าสปริงได้ที่ไหน
ฉันต้องการรวม Spring Framework ในโครงการของฉันเข้ากับฝั่งเซิร์ฟเวอร์โดยเฉพาะ ดังนั้นฉันไม่ต้องการวางไว้ในโฟลเดอร์ WEB-INF ของไฟล์ war ฉันควรใส่ applicationContext.xml ไว้ในแต่ละเลเยอร์ (หมายถึงแต่ละโครงการตั้งแต่แบ่งเป็นโครงการที่แตกต่างกันหรือไม่ (Services, Domain และ DAO) การปฏิบัติที่ดีคืออะไร?
18 java  soa  spring 

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