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

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

2
ฉันจะหาทรัพยากร“ SVN สำหรับผู้ใช้ Git” ได้จากที่ใด [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ดังนั้นฉันจึงทำงานที่ บริษัท ใช้ SVN (แต่จะย้ายไปที่ Git ในอนาคต) ปัญหาคือฉันไม่รู้ SVN ฉันได้ลองใช้คำค้นหาของ Google มากมายและสิ่งที่ฉันหาได้ทั้งหมดคือ SVN-> Git tutorials "ทำไม Git ถึงดีกว่า SVN" บล็อกและ "cheat ชีต" ที่ให้คำสั่งที่คล้ายกัน (บางรายการ) ... อ่านหนังสือ O'Reilly สั้น ๆ เกี่ยวกับ SVN คำแนะนำสั้น ๆ (แต่ไม่สั้นเกินไป ) สำหรับ SVN สำหรับผู้ใช้ Git …
18 git  svn 

1
ฉันควรใช้อัลกอริทึมใดในการสร้างคุณลักษณะการกำหนดตารางพนักงานโดยอัตโนมัติ
ลองนึกภาพธุรกิจในท้องถิ่นขนาดเล็ก (ในกรณีของฉันคือศูนย์รับเลี้ยงสุนัข) กับพนักงานนอกเวลาไม่กี่โหล เป้าหมายคือการสร้างตารางพนักงานรายสัปดาห์โดยอัตโนมัติ คำถามของฉันเกี่ยวกับอัลกอริทึมวิธีการสำรวจปัญหานี้ มีข้อ จำกัด มากมายที่ต้องจำไว้คือส่วนใหญ่ (1) ความพร้อมของพนักงานและ (2) ความต้องการของแต่ละกะไม่ใช่แค่จำนวนพนักงานสำหรับแต่ละกะ แต่เป็นทักษะที่จำเป็นสำหรับแต่ละกะ (เช่นสำหรับกะที่แน่นอน คุณอาจต้องการคนที่รู้วิธีขับรถเพื่อไปรับสุนัขหรือส่งคนอื่น ๆ บางคนที่รู้วิธีให้สุนัขอาบน้ำ ฯลฯ ) ข้อ จำกัด อื่น ๆ รวมถึงสิ่งต่าง ๆ เช่นการหลีกเลี่ยงหรือต้องการคอมโบของเจ้าหน้าที่ - อาจเป็นเพราะความขัดแย้งทางบุคลิกภาพในมือข้างหนึ่งหรือความต้องการการฝึกอบรมโดยออสโมซิสจากเจ้าหน้าที่อาวุโสไปจนถึงพนักงานระดับจูเนียร์ นอกจากนี้ยังมีการตั้งค่าที่จะต้องพิจารณา พนักงานบางคนชอบตอนเช้าสองวันติดต่อกันแทนที่จะพูดวันจันทร์และวันพฤหัสบดี ฯลฯ เรารู้ว่าเราไม่สามารถรองรับความชอบของทุกคนได้เสมอ ในความเป็นจริงเรามีลำดับขั้นที่พนักงานจะได้รับการเลือกเป็นอันดับแรก ฉันมีลางสังหรณ์ว่ามีวิธีที่จะลดหรือแสดงปัญหานี้ในอัลกอริทึมที่มีอยู่แล้วที่แก้ไขแล้ว แต่ฉันไม่รู้ว่าอัลกอริทึมใดที่จะสำรวจ อัลกอริทึมเฉพาะที่มีอยู่ใดที่จะมีแนวโน้มมากที่สุด?
18 algorithms 

7
เหตุใดเราต้องรวม. h ขณะที่ทุกอย่างทำงานเมื่อรวมเฉพาะไฟล์. cpp
ทำไมเราต้องรวมทั้งไฟล์.hและ.cppในขณะที่เราสามารถทำให้มันทำงานได้โดยรวม.cppไฟล์ ตัวอย่างเช่นการสร้างfile.hที่มีการประกาศแล้วการสร้างคำนิยามที่มีและรวมทั้งในfile.cppmain.cpp อีกทางหนึ่ง: การสร้างการfile.cppประกาศ / คำจำกัดความที่มี (ไม่มีต้นแบบ) รวมถึงสิ่งmain.cppต่อไปนี้ ทั้งสองทำงานให้ฉัน ฉันไม่เห็นความแตกต่าง บางทีความเข้าใจในกระบวนการรวบรวมและเชื่อมโยงอาจช่วยได้บ้าง
18 c++  c  headers  linking  include 

4
เหตุใดทรัพยากรสตริงจึงถูกเก็บภายนอกรหัสและไม่อยู่ในรหัส
โดยทั่วไปในหลาย ๆ แพลตฟอร์มฉันกำลังเขียนแหล่งข้อมูลสตริงของฉันไปยังไฟล์. resx หรือ. xml นั่นคือบน iOS ฉันกำลังทำให้พวกเขาผ่านNSBundle.MainBundleและโดยใช้Context.Resourcesบน Android อะไรคือข้อดีของวิธีการนี้และทำไมไม่ให้เข้าถึงโดยตรงในรหัสดังนั้นตัวอย่างเช่น: ในโครงการข้ามแพลตฟอร์มแพลตฟอร์มใด ๆ สามารถเข้าถึงได้โดยตรงโดยไม่มีการรวมเข้าด้วยกัน ไม่มีความกังวลในระหว่างการสร้างว่าทรัพยากรที่สร้างขึ้นนั้นดีหรือไม่ coder สามารถใช้ฟังก์ชันต่างๆเช่นการจัดการหลายภาษา เรื่องสั้นสั้น: อะไรคือสาเหตุที่ทำให้โครงสร้างของทรัพยากรสตริงเป็นแบบนั้น? [แก้ไข] สมมติว่าไฟล์ของฉันเป็นส่วนหนึ่งของโครงการ "แกน" ที่แชร์ระหว่างโครงการอื่น (คิดเกี่ยวกับ PCL โครงสร้างไฟล์โครงการข้ามแพลตฟอร์ม) และสมมติว่าไฟล์ของฉันคล้ายกับไฟล์. resx / .xml ทั้งหมดโดยมีลักษณะเช่นนี้ (ฉันไม่ใช่มืออาชีพในรูปแบบ xml ขอโทษด้วย!): พารามิเตอร์พารามิเตอร์ ดังนั้นนี่คือ XML แบบกำหนดเองโดยที่คุณชี้ไปที่คีย์ / ภาษาเพื่อรับสตริงที่เหมาะสม ไฟล์ดังกล่าวจะเป็นส่วนหนึ่งของแอปพลิเคชันเช่นเดียวกับที่คุณเพิ่มไฟล์ใด ๆ ที่สามารถเข้าถึงได้ภายในแอพและระบบเพื่อเข้าถึงทรัพยากรสตริงโดยใช้ PCL นี่จะเป็นการเพิ่มโอเวอร์เฮดให้กับแอปพลิเคชันหรือไม่

1
การส่งผ่านฟังก์ชัน Scala ไปยังวิธีการ Java 8
โค้ด Scala ต่อไปนี้ใช้งานได้และสามารถส่งผ่านไปยังเมธอด Java ที่ต้องการฟังก์ชัน มีวิธีที่สะอาดกว่านี้หรือไม่? นี่คือการผ่านครั้งแรกของฉัน: val plusOne = new java.util.function.Function[Int,Int] { override def apply(t:Int):Int = t + 1 override def andThen[V](after:function.Function[_ >: Int, _ <: V]): function.Function[Int, V] = ??? override def compose[V](before:function.Function[_ >: V, _ <: Int]): function.Function[V, Int] = ??? } นี่คือรอบที่สองของฉัน - มันใช้ wrapper ทั่วไปสำหรับส่วนต่อประสานฟังก์ชั่น …

2
คุณจัดการ config ด้วยการฉีดพึ่งพาได้อย่างไร?
ฉันเป็นแฟนตัวยงของ DI / IOC มันเป็นเรื่องที่ยอดเยี่ยมสำหรับการจัดการ / การแยกตัวออกจากการพึ่งพาอย่างหนักและทำให้ชีวิตง่ายขึ้นเล็กน้อย อย่างไรก็ตามฉันมีด้ามจับเล็ก ๆ กับมันซึ่งฉันไม่แน่ใจว่าจะแก้ปัญหาได้อย่างไร แนวคิดพื้นฐานใน DI / IOC คือเมื่อวัตถุถูกสร้างอินสแตนซ์การอ้างอิงทั้งหมดจะถูกเติมไว้ล่วงหน้าภายใน Constructor อย่างไรก็ตาม IMHO มีพารามิเตอร์หลายประเภทสำหรับตัวสร้าง (โดยเฉพาะเมื่อวัตถุของคุณไม่เปลี่ยนรูป) การพึ่งพา (วัตถุที่จำเป็นสำหรับวัตถุของคุณในการทำงาน) การกำหนดค่า (ข้อมูลเกี่ยวกับสภาพแวดล้อมที่จำเป็นในการทำงาน) พารามิเตอร์ (ข้อมูลที่ใช้งานได้) ฉันพบว่า IOC ทำงานได้ดีกับการอ้างอิง แต่ฉันยังคงพยายามหาวิธีที่ดีที่สุดในการจัดการกับอีกสองคน อย่างไรก็ตามเนื่องจากตัวสร้างถูกเรียกใช้เพื่อให้เรียกใช้งานโดยคอนเทนเนอร์ IOC ดูเหมือนว่าฉันต้องวางรายการเหล่านี้ลงในคอนเทนเนอร์ IOC ฉันต้องการทราบว่ากลยุทธ์ / รูปแบบการจ้างงานของผู้คนและข้อดีและข้อเสียที่พบ NB ฉันรู้ว่านี่เป็นคำถามที่เป็นอัตนัยและได้พยายามทำให้เป็นคำถามแบบอัตนัย "ดี" ตามแนวทางของ SE

13
ทำไมโปรแกรมเมอร์จึงไม่สนใจมาตรฐาน ISO? [ปิด]
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา สิ่งหนึ่งที่ฉันพบบ่อยคือปัญหาที่เกิดจากโปรแกรมที่ไม่เป็นไปตามมาตรฐาน ISO ตัวอย่างหนึ่งจะไม่ใช้ตารางประเทศ ISO แต่ทำชวเลขของพวกเขาเองซึ่งก็โอเคสำหรับสหรัฐอเมริกา (US) หรือเนเธอร์แลนด์ (NL) แต่ผิดไปอย่างน่าทึ่งสำหรับสหราชอาณาจักร (GB ไม่ใช่สหราชอาณาจักร) หรือสเปน (ES ไม่ใช่ SP) และประเทศอื่น ๆ อีกมากมาย เป็นอีกตัวอย่างหนึ่งที่ระบุวันที่ภายใน ทำไมทุกคนจะเก็บวันที่ในวันที่ 01/02/2014? ยังไม่ชัดเจนว่าจะเป็นวันที่ 1 กุมภาพันธ์หรือ 2 มกราคมในขณะที่ถ้าคุณใช้มาตรฐาน ISO คุณเพิ่งเก็บ 2014-02-01 * และมันก็ชัดเจนวันที่ 1 กุมภาพันธ์ คำถามของฉัน: โปรแกรมเมอร์ควรสร้างโครงสร้างของตนเองเมื่อใดและเพราะเหตุใดเมื่อมีมาตรฐาน ISO พร้อมใช้งาน * จัดเก็บ 2014-02-01 …

6
Scrum สามารถปรับให้เข้ากับการตั้งค่าอาสาสมัครได้อย่างไร
ฉันเพิ่งเข้าร่วมแฮกเกอร์สเปซอายุน้อยยังอยู่ในขั้นตอนการตั้งค่า เราโชคดีเพราะพื้นที่มีโครงการภายในไม่กี่แห่งที่ต้องทำงานและไม่มีอาสาสมัครทำงานให้ มีการหารือเกี่ยวกับวิธีการจัดระเบียบโครงการเหล่านี้ ประสบการณ์ระดับมืออาชีพล่าสุดของฉันอยู่กับ Scrum ดังนั้นฉันจึงพิจารณาการขว้างแนวทาง Scrum สำหรับโครงการซอฟต์แวร์ของเรา แต่ฉันไม่แน่ใจว่ามันจะเหมาะสม แม้ว่าฉันจะเห็นว่าการต่อสู้แบบ Scrum ทำงานได้ดีสำหรับทีมเต็มเวลาขนาดเล็ก แต่ลักษณะขององค์กรนี้แตกต่างกัน: สมาชิกที่มีอาสาสมัคร บางคนเป็นนักเรียนเต็มเวลา คนอื่น ๆ ทำงานเต็มเวลา เราไม่สามารถคาดหวังได้ว่าการมีส่วนร่วมอย่างสม่ำเสมอจากทุกคนในขณะที่ชีวิตจริงของพวกเขาให้ความสำคัญ ในขณะที่ทุกคนมีประสบการณ์เขียนซอฟต์แวร์มานานหลายปีมีสมาชิกไม่มากนักที่ทำอย่างมืออาชีพหรือในทีม นอกจากนี้ไม่มีเจ้าของผลิตภัณฑ์ ข้อกำหนดสำหรับโครงการเหล่านี้จะถูกกำหนดโดยคณะกรรมการ สมาชิกของคณะกรรมการนี้จะทำงานในการดำเนินการ ซึ่งหมายความว่าเราจะไม่มีเจ้าของผลิตภัณฑ์ที่อุทิศตน เราไม่มีกำหนดเวลา (อ่อนหรือแข็ง) โครงการจะเสร็จสิ้นเมื่อดำเนินการเสร็จ สิ่งเหล่านี้มีความแตกต่างอย่างมีนัยสำคัญ แต่ฉันไม่เชื่อว่าพวกเขาจะเป็นบล็อคให้ใช้ Scrum ฉันคิดว่าการปรับแต่งเล็กน้อยสามารถทำให้เราผ่านอุปสรรค์นี้ได้: หากเราเปลี่ยน Sprints ให้มีขนาดเรื่องจุดคงที่ แต่ระยะเวลาของเหลว (เวลา) เรายังสามารถได้รับประโยชน์จากการเผยแพร่ซ้ำโดยไม่กดดันต่อการส่งที่ไม่สมจริงใน devs ของอาสาสมัคร เราสามารถทิ้งแผนภูมิการเผาไหม้และการคำนวณความเร็ว หากฉันเข้าใจถูกต้องสิ่งเหล่านี้เป็นเครื่องมือและตัวชี้วัดที่ทำงานเป็นสะพานเชื่อมระหว่างทีม dev และฝ่ายจัดการ พวกเขาทำหน้าที่รายงานความคืบหน้าในรูปแบบที่มีความหมายต่อทั้งนักพัฒนาและผู้มีส่วนได้เสีย พิจารณาว่าเราไม่มีใครรายงาน (ไม่มีผู้จัดการโครงการไม่มีเจ้าของผลิตภัณฑ์และไม่มีผู้มีส่วนได้เสียภายนอก) ฉันเชื่อว่าเราสามารถทำสิ่งนี้ได้ทั้งหมด สิ่งที่ฉันคิดว่าเราจะได้รับจากการที่ไม่ต้องใช้การปรับแต่ง: การรวบรวมความต้องการประชุม (s) …

4
การคัดเลือกนักแสดงหมายถึงอะไร
เมื่อการเข้ารหัสในภาษาระดับต่ำเช่น CI พบว่าบางครั้งการแคสต์หมายถึง 'ตีความไบต์เหล่านี้ซ้ำอีกครั้งราวกับว่ามันเป็นประเภทอื่น' และในบางครั้งในขณะที่ 'แปลงค่านี้ให้เป็นประเภทอื่นอย่างชาญฉลาด' ความหมายดั้งเดิมของคำคืออะไรและมีความสอดคล้องในการคาดหวังการแปลงและเมื่อใดที่คาดหวังการตีความดิบ?

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

4
การติดตาเป็นภาษาที่ใช้งานได้จริงเพียงใด?
รูปแบบของการใช้ตัวจัดการคำสั่งในการจัดการกับการคงอยู่ของภาษาที่ใช้งานได้อย่างแท้จริงซึ่งเราต้องการทำให้โค้ดที่เกี่ยวข้องกับ IO มีความบางที่สุด เมื่อใช้การออกแบบที่ขับเคลื่อนด้วยโดเมนในภาษาเชิงวัตถุเป็นเรื่องปกติที่จะใช้รูปแบบคำสั่ง / ตัวจัดการเพื่อดำเนินการเปลี่ยนแปลงสถานะ ในการออกแบบตัวจัดการคำสั่งจะอยู่ด้านบนของวัตถุโดเมนของคุณและรับผิดชอบต่อตรรกะที่เกี่ยวข้องกับการคงอยู่ที่น่าเบื่อเช่นการใช้ที่เก็บข้อมูลและการเผยแพร่กิจกรรมโดเมน ตัวจัดการเป็นหน้าสาธารณะของโมเดลโดเมนของคุณ รหัสแอปพลิเคชันเช่น UI เรียกตัวจัดการเมื่อจำเป็นต้องเปลี่ยนสถานะของวัตถุโดเมน ร่างใน C #: public class DiscardDraftDocumentCommandHandler : CommandHandler<DiscardDraftDocument> { IDraftDocumentRepository _repo; IEventPublisher _publisher; public DiscardDraftCommandHandler(IDraftDocumentRepository repo, IEventPublisher publisher) { _repo = repo; _publisher = publisher; } public override void Handle(DiscardDraftDocument command) { var document = _repo.Get(command.DocumentId); document.Discard(command.UserId); _publisher.Publish(document.NewEvents); } …

8
การทดสอบหน่วยที่ดีเพื่อครอบคลุมกรณีการใช้งานของการกลิ้งแม่พิมพ์
ฉันพยายามที่จะจับกับการทดสอบหน่วย สมมติว่าเรามีแม่พิมพ์ซึ่งสามารถมีจำนวนด้านเริ่มต้นเท่ากับ 6 (แต่สามารถมี 4, 5 ด้าน ฯลฯ ): import random class Die(): def __init__(self, sides=6): self._sides = sides def roll(self): return random.randint(1, self._sides) ต่อไปนี้เป็นการทดสอบที่ถูกต้อง / มีประโยชน์หรือไม่ ทดสอบม้วนในช่วง 1-6 สำหรับแม่พิมพ์แบบ 6 ด้าน ทดสอบม้วน 0 สำหรับแม่พิมพ์แบบ 6 ด้าน ทดสอบม้วน 7 สำหรับแม่พิมพ์แบบ 6 ด้าน ทดสอบม้วนในช่วง 1-3 สำหรับแม่พิมพ์ 3 ด้าน ทดสอบม้วน 0 สำหรับแม่พิมพ์ …

3
ความซับซ้อนของตัวสร้างควรจะเป็น
ฉันกำลังพูดคุยกับเพื่อนร่วมงานของฉันว่าคอนสตรัคเตอร์สามารถทำงานได้เท่าใด ฉันมีคลาส B ที่ต้องใช้วัตถุอื่นภายใน A. วัตถุ A เป็นหนึ่งในสมาชิกไม่กี่คนที่คลาส B ต้องการทำงาน วิธีการสาธารณะทั้งหมดขึ้นอยู่กับวัตถุภายใน A. ข้อมูลเกี่ยวกับวัตถุ A ถูกเก็บไว้ในฐานข้อมูลดังนั้นฉันจึงพยายามตรวจสอบและรับมันโดยดูจากฐานข้อมูลในตัวสร้าง เพื่อนร่วมงานของฉันชี้ให้เห็นว่าตัวสร้างไม่ควรทำงานมากไปกว่าการจับพารามิเตอร์คอนสตรัคเตอร์ เนื่องจากวิธีการสาธารณะทั้งหมดจะล้มเหลวอย่างไรก็ตามหากไม่พบวัตถุ A โดยใช้อินพุตไปยังตัวสร้างฉันจึงแย้งว่าแทนที่จะอนุญาตให้สร้างตัวอย่างและล้มเหลวในภายหลัง คนอื่นคิดอย่างไร ฉันใช้ C # หากสร้างความแตกต่าง การอ่านมีเหตุผลที่จะทำงานของวัตถุทั้งหมดในคอนสตรัคเตอร์หรือไม่? ฉันสงสัยว่าการดึงวัตถุ A โดยไปที่ DB เป็นส่วนหนึ่งของ "การเริ่มต้นอื่น ๆ ที่จำเป็นในการทำให้วัตถุพร้อมใช้งาน" เพราะหากผู้ใช้ส่งค่าผิดไปยังตัวสร้างฉันจะไม่สามารถใช้วิธีการสาธารณะใด ๆ ตัวสร้างควรสร้างอินสแตนซ์ของฟิลด์ของวัตถุและทำการเริ่มต้นอื่น ๆ ที่จำเป็นเพื่อทำให้วัตถุพร้อมใช้งาน โดยทั่วไปหมายถึงตัวสร้างมีขนาดเล็ก แต่มีสถานการณ์สมมติที่จะมีงานจำนวนมาก
18 c#  constructors 

2
ความช่วยเหลือเกี่ยวกับ MVVM ที่ซับซ้อน (หลายมุมมอง)
ฉันต้องการความช่วยเหลือในการสร้างมุมมองแบบจำลองสำหรับสถานการณ์ต่อไปนี้: ข้อมูลที่ลึกและเป็นลำดับชั้น หลายมุมมองสำหรับชุดข้อมูลเดียวกัน แต่ละมุมมองเป็นมุมมองเดียวที่เปลี่ยนแปลงได้แบบไดนามิกตามการเลือกที่แอ็คทีฟ แสดงแท็บประเภทต่าง ๆ ในตัวควบคุมแท็บทั้งนี้ขึ้นอยู่กับมูลค่าของคุณสมบัติ คำถามของฉัน: ฉันควรสร้างการนำเสนอแบบจำลองมุมมองสำหรับแต่ละมุมมอง (VM1, VM2 ฯลฯ ) หรือไม่ 1. Yes: a. Should I model the entire hierarchical relationship? (ie, SubVM1, HouseVM1, RoomVM1) b. How do I keep all hierarchies in sync? (e.g, adding/removing nodes) 2. No: a. Do I use a huge, single view …
18 wpf  mvvm 

2
ข้อกำหนดสำหรับการระบุแหล่งที่มาในสิทธิ์การใช้งาน MIT มีอะไรบ้าง
selectalicense.comอ้างว่าใบอนุญาต MITคือ“ ใบอนุญาตแบบอนุญาตที่สั้นและตรงประเด็น ช่วยให้ผู้ใช้สามารถทำอะไรกับรหัสของคุณด้วยการระบุแหล่งที่มาที่เหมาะสมและไม่มีการรับประกัน” (เน้นที่เหมือง) อย่างไรก็ตามการอ่านใบอนุญาตฉันไม่เห็นสิ่งใดเลยที่อ้างว่าการระบุแหล่งที่มาของผู้เขียนต้นฉบับจะต้องอยู่ที่ใดดังนั้นพวกเขาจึงนำมาจากที่ใด

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