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

คำถามเกี่ยวกับการแก้ปัญหาและการวางแผนแก้ปัญหาผ่านการออกแบบซอฟต์แวร์

18
คุณทำอะไรให้เหมาะสม [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา โดยทั่วไปแล้วการเพิ่มประสิทธิภาพประเภทใดที่คุณมักใช้ในการออกแบบซอฟต์แวร์ คุณเป็นประเภทที่ชอบเพิ่มประสิทธิภาพการออกแบบของคุณหรือไม่ เวลาในการพัฒนา (เช่นเขียนอย่างรวดเร็วและ / หรือง่ายต่อการบำรุงรักษา)? ระยะเวลาดำเนินการ พื้นที่เก็บข้อมูล (RAM, DB, Disc, ฯลฯ ) แน่นอนว่านี่เป็นเรื่องของประเภทของปัญหาที่ต้องแก้ไขและกำหนดเวลาที่เกี่ยวข้องดังนั้นฉันอยากได้ยินเกี่ยวกับสาเหตุที่ทำให้คุณเลือกการเพิ่มประสิทธิภาพหนึ่งรูปแบบ

6
แนวทางปฏิบัติที่ดีที่สุดในการจัดการการเกิดพร้อมกันลงในตระกร้าในเว็บไซต์อีคอมเมิร์ซ
แนวทางที่ดีที่สุดในการจัดการกรณีที่ลูกค้าสองรายเพิ่มในเวลาเดียวกันกับผลิตภัณฑ์ที่มีสต็อกเพียง 1 คืออะไร ต้องมีการตรวจสอบในรหัสของตะกร้าเพื่อหลีกเลี่ยงหนึ่งใน 2 ลูกค้าเหล่านี้เพื่อเพิ่มผลิตภัณฑ์เดียวกันหรือไม่ หรือการตรวจสอบนี้จะต้องดำเนินการในขั้นตอนการชำระเงินในการทำเช่นแบบสอบถามที่สองเพื่อยืนยันว่าผลิตภัณฑ์ที่เกี่ยวข้องยังคงอยู่ในสต็อก (หมายถึงยังไม่ได้ซื้อโดยลูกค้าพร้อมกัน)?

4
ทำไมภาษาส่วนใหญ่จึงให้ min-heap แทนที่จะใช้ max-heap
ฉันเพิ่งสังเกตเห็นบางสิ่งบางอย่างและฉันสงสัยว่ามีเหตุผลใดที่ ยกเว้น C ++ (std :: priority_queue เป็น max heap) ฉันไม่รู้ภาษาอื่นที่ให้ heap สูงสุด โมดูล heapq ของ Python ใช้ min-heap แบบไบนารีที่ด้านบนของรายการ ไลบรารีของ Java มีคลาส PriorityQueue ซึ่งใช้ขั้นต่ำลำดับความสำคัญคิว ไลบรารีของ Go ประกอบด้วยโมดูล container / heap ซึ่งใช้ min-heap ที่อยู่ด้านบนของโครงสร้างข้อมูลที่เข้ากันได้ เฟรมเวิร์กหลักของ Apple ประกอบด้วยโครงสร้าง CFBinaryHeap ซึ่งใช้ min-heap ฉันพบว่า max-heap ใช้งานง่ายกว่า min-heap และฉันเชื่อว่าในทางเทคนิคแล้วความแตกต่างในการใช้งานเป็นเพียงคำถามของการเปลี่ยนโอเปอเรเตอร์เปรียบเทียบ มีเหตุผลจริงหรือไม่? แอปพลิเคชันส่วนใหญ่ต้องการนาทีแทนที่จะเป็นฮีปสูงสุดหรือไม่ ขอบคุณล่วงหน้า

6
ฉันควรใช้ขั้นตอนการจัดเก็บเมื่อใด
ถ้าฉันมีตรรกะทางธุรกิจทั้งหมดของฉันในรหัสและใช้ประโยชน์จาก Entity Framework ในสถานการณ์ใด (ถ้ามี) ฉันจะย้ายตรรกะทางธุรกิจบางอย่างไปยังขั้นตอนการจัดเก็บดีกว่าแทนที่จะเก็บไว้ในรหัสทั้งหมดหรือไม่ เพื่อความชัดเจนฉันหมายถึงร่วมกับการตั้งค่าปัจจุบัน (ตรรกะทางธุรกิจในรหัส) ไม่ใช่แทนที่จะเป็น ฉันได้เห็นคำถามคล้าย ๆ กันหลายข้อที่ถามถึงข้อดีและข้อเสียของการมีตรรกะทางธุรกิจทั้งหมดในขั้นตอนการจัดเก็บ แต่ฉันไม่พบอะไรมากเกี่ยวกับการใช้ขั้นตอนการจัดเก็บเท่าที่จำเป็นสำหรับตรรกะกรณีขอบ ในรหัส ถ้ามันสร้างความแตกต่างฉันกำลังใช้ MSSQL และ Entity Framework นี่คือสถานการณ์ที่ฉันใช้โพรซีเดอร์ที่เก็บไว้ก่อนหน้านี้: รายงานที่ซับซ้อนซึ่งใช้เวลาไม่กี่นาทีในการเรียกใช้ (นี่คือหน้าเว็บในแอปพลิเคชัน) ฉันพบว่าฉันสามารถเขียน SQL ที่มีประสิทธิภาพมากขึ้น (ใช้เวลาเพียงไม่กี่วินาทีในการเรียกใช้) กว่าที่ LINQ จัดหาให้ เว็บแอปพลิเคชันจำเป็นต้องอ่านและเขียนลงในตารางไม่กี่ตารางในฐานข้อมูลแยกต่างหากซึ่งมีข้อมูลที่ละเอียดอ่อนจำนวนมากซึ่งไม่เกี่ยวข้องกับแอปพลิเคชัน แทนที่จะให้สิทธิ์เข้าถึงทุกสิ่งฉันใช้กระบวนงานที่เก็บไว้ซึ่งทำสิ่งที่ต้องการเท่านั้นและส่งคืนข้อมูลที่ จำกัด เท่านั้น เว็บแอปพลิเคชันสามารถเข้าถึงขั้นตอนการจัดเก็บนี้เท่านั้นโดยไม่ต้องเข้าถึงตารางใด ๆ เป็นต้น โพสต์อื่นที่ฉันได้ดูก่อนถามคำถามนี้: ขั้นตอนการจัดเก็บวิธีปฏิบัติที่ไม่ดีที่หนึ่งใน บริษัท ที่ปรึกษาด้านไอทีรายใหญ่ที่สุดในโลก? ข้อดีข้อเสียของการถือตรรกะทางธุรกิจทั้งหมดในขั้นตอนการจัดเก็บในเว็บแอปพลิเคชัน /programming/15142/what-are-the-pros-and-cons-to-keeping-sql-in-stored-procs-versus-code /dba/2450/what-are-the-arguments-against-or-for-putting-application-logic-in-the-database/2452#2452 เมื่อใดที่จะไม่ใช้ ORM และชอบวิธีการจัดเก็บ?

7
สิ่งสำคัญที่เราต้องรู้เกี่ยวกับ UML คืออะไร?
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันต้องการลายเส้นของการออกแบบและพฤติกรรมของโปรแกรมให้มีความคล่องตัวมากขึ้นและมีภาษาร่วมกับนักพัฒนาอื่น ๆ ฉันดู UML และตามหลักการแล้วดูเหมือนว่าจะเป็นสิ่งที่ฉันกำลังมองหา แต่ดูเหมือนว่าจะเกินกำลัง ข้อมูลที่ฉันค้นพบทางออนไลน์ดูเหมือนจะมีความป่องๆและวิชาการ ฉันจะเข้าใจ UML ในลักษณะที่เป็นภาษาอังกฤษธรรมดาได้มากพอที่จะอธิบายให้เพื่อนร่วมงานทราบได้อย่างไร ทรัพยากรที่ยอมรับได้สำหรับการทำความเข้าใจ UML ในระดับพื้นดินคืออะไร
18 design  uml 

15
ต้นแบบในภาษาระดับที่สูงขึ้นเป็นเรื่องปกติหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ขณะนี้ฉันกำลังเล่นกับความคิดที่จะเริ่มดำเนินการในโครงการที่เกินความสามารถในการเขียนโปรแกรมปัจจุบันของฉันในภาษาที่ฉันมีประสบการณ์ในโลกแห่งความเป็นจริงเพียงเล็กน้อยใน (C) มันจะมีค่าสำหรับการสร้างต้นแบบในภาษาระดับสูงกว่าที่ฉันคุ้นเคย (เช่น Perl / Python / Ruby / C #) เพียงเพื่อฉันจะได้รับการออกแบบโดยรวมหรือไม่ ในที่สุดผลิตภัณฑ์สุดท้ายนั้นมีความอ่อนไหวด้านประสิทธิภาพ (เป็นเครื่องมือฐานข้อมูล) ดังนั้นตัวเลือกของ C แต่ฉันกลัวว่าการรู้ว่า C ดีจะทำให้ฉันสูญเสียป่าไปสำหรับต้นไม้ ในขณะที่ค้นหาคำถามที่คล้ายกันฉันสังเกตเห็นเพื่อนคนหนึ่งพูดถึงว่าโปรแกรมเมอร์ใช้ต้นแบบใน Prolog แล้วเหวี่ยงมันออกไปในแอสเซมเบลอร์

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

4
จะเห็นภาพการออกแบบของเครื่องยนต์ฟิสิกส์ได้อย่างไร
ฉันกำลังสร้างเอนจิ้นฟิสิกส์และมันค่อนข้างยากที่จะติดตามเรื่องทั้งหมด บ่อยครั้งที่ฉันกลับไปที่รหัสของฉันหลังจากหยุดพักฉันจำไม่ได้ว่าทำไมถึงไม่ทำงาน ปัญหาส่วนใหญ่ไม่ใช่ความผิดพลาดในการเขียนโปรแกรมอย่างง่าย แต่ออกแบบข้อบกพร่องในเครื่องมือฟิสิกส์ของฉัน นั่นเป็นเหตุผลที่ฉันควรออกแบบให้เสร็จก่อนที่จะเขียนโปรแกรม อย่างไรก็ตามฉันต้องการวิธีที่จะเขียนลงบนกระดาษทั้งการออกแบบของเครื่องมือฟิสิกส์ของฉัน มิฉะนั้นฉันจะลืมมันในวันพรุ่งนี้และจะหายไปอีกครั้ง แผนภาพคลาส UML นั้นไม่เหมาะสมเลยสำหรับการออกแบบเครื่องยนต์ฟิสิกส์ ฉันไม่สนใจเกี่ยวกับชั้นเรียน แต่เป็นกระบวนการ ฉันไม่เห็นแผนภาพกระบวนการทางธุรกิจว่ามีประโยชน์จริง ๆ เพราะการสร้างแบบจำลองขั้นตอนเดียว (เฟรม) ของกระบวนการของฉันจะไม่ช่วยให้ฉันเข้าใจพฤติกรรมขั้นสุดท้ายของเครื่องยนต์ในหลายขั้นตอน ดังนั้นแผนภาพชนิดใดที่ฉันควรใช้เพื่อช่วยในการติดตามกระบวนการ อาชีพแผนภาพประเภทใดที่ใช้สร้างเอนจิ้นฟิสิกส์

3
การจัดการการต่ออายุโทเค็น / การหมดอายุเซสชันใน RESTful API
ฉันกำลังสร้าง RESTful API ที่ใช้โทเค็น JWT สำหรับการรับรองความถูกต้องของผู้ใช้ (ที่ออกโดยloginปลายทางและส่งในส่วนหัวทั้งหมดหลังจากนั้น) และโทเค็นต้องได้รับการรีเฟรชหลังจากระยะเวลาคงที่ (เรียกrenewจุดสิ้นสุด ) เป็นไปได้ว่าเซสชัน API ของผู้ใช้จะไม่ถูกต้องก่อนที่โทเค็นจะหมดอายุดังนั้นจุดสิ้นสุดทั้งหมดของฉันเริ่มต้นด้วยการตรวจสอบว่า: 1) โทเค็นยังคงถูกต้องและ 2) เซสชันของผู้ใช้ยังคงถูกต้อง ไม่มีวิธีในการทำให้โทเค็นเป็นโมฆะโดยตรงเนื่องจากไคลเอนต์เก็บไว้ในเครื่อง ดังนั้นจุดสิ้นสุดของฉันทั้งหมดต้องส่งสัญญาณให้ลูกค้าทราบถึงสองเงื่อนไขที่เป็นไปได้: 1) ถึงเวลาต่ออายุโทเค็นหรือ 2) เซสชันนั้นไม่ถูกต้องและพวกเขาไม่ได้รับอนุญาตให้เข้าถึงระบบอีกต่อไป ฉันสามารถนึกถึงทางเลือกสองทางสำหรับจุดสิ้นสุดของฉันในการส่งสัญญาณลูกค้าเมื่อเกิดหนึ่งในสองเงื่อนไข (สมมติว่าลูกค้าสามารถปรับให้เข้ากับตัวเลือกใดตัวเลือกหนึ่ง): ส่งคืนรหัส http 401 (ไม่ได้รับอนุญาต) หากเซสชันไม่ถูกต้องหรือส่งคืนรหัส 412 (เงื่อนไขเบื้องต้นล้มเหลว) เมื่อโทเค็นหมดอายุและถึงเวลาเรียกrenewจุดสิ้นสุดซึ่งจะส่งคืนรหัส 200 (ok) ส่งคืน 401 สำหรับการส่งสัญญาณว่าเซสชันไม่ถูกต้องหรือโทเค็นหมดอายุแล้ว ในกรณีนี้ลูกค้าจะโทรหาrenewปลายทางทันทีถ้ามันคืน 200 โทเค็นจะถูกรีเฟรช แต่ถ้าrenewกลับ 401 ก็หมายความว่าไคลเอนต์ออกจากระบบ คุณจะแนะนำทางเลือกใดจากสองข้อด้านบน อันไหนจะเป็นมาตรฐานมากขึ้นเข้าใจง่ายและ / หรือสงบมากขึ้น? หรือคุณจะแนะนำวิธีการอื่นโดยสิ้นเชิง? คุณเห็นปัญหาที่ชัดเจนหรือความเสี่ยงด้านความปลอดภัยที่มีตัวเลือกอย่างใดอย่างหนึ่ง? …

4
ฉันจะเก็บข้อมูลแบบอ่านอย่างเดียวเพื่อปรับใช้กับแอปพลิเคชันของฉันได้อย่างไร
ฉันกำลังพัฒนาแอปพลิเคชันบนเดสก์ท็อปและแอปพลิเคชันนี้ต้องการข้อมูลบางอย่างที่จะเรียกใช้ แต่ไม่เปลี่ยนแปลงข้อมูลใด ๆ (ข้อมูลจะต้องโหลดทุกครั้งที่เรียกใช้แอป แต่ไม่มีการเปลี่ยนแปลงข้อมูล) ข้อมูลจะต้องเก็บไว้ในคอมพิวเตอร์เครื่องเดียวกับที่แอพกำลังทำงานอยู่ (ที่เก็บข้อมูลฝั่งไคลเอ็นต์หรือไม่) นอกจากนี้ยังเป็นการดีกว่าหากผู้ใช้ไม่สามารถเปลี่ยนข้อมูลนี้ได้อย่างง่ายดาย (สมมติว่าพวกเขาไม่มีความรู้ด้านไอทีมาก) ฉันจะเก็บข้อมูลประเภทนี้ได้อย่างไร ฐานข้อมูลท้องถิ่น XML ที่ส่งมาพร้อมกับแอปพลิเคชันหรือไม่ ฉันใช้ WPF
17 c#  design  data  wpf 

2
หลักการของความประหลาดใจน้อยที่สุด (POLA) และส่วนต่อประสาน
ไตรมาสที่ดีของศตวรรษที่ผ่านมาเมื่อฉันเรียนรู้ C ++ ฉันได้รับการสอนว่าอินเตอร์เฟสควรจะให้อภัยและเท่าที่เป็นไปได้ไม่สนใจเกี่ยวกับลำดับที่วิธีการนั้นถูกเรียกเนื่องจากผู้บริโภคอาจไม่สามารถเข้าถึงแหล่งข้อมูลหรือเอกสารแทน นี้. อย่างไรก็ตามเมื่อใดก็ตามที่ฉันให้คำปรึกษาผู้เขียนโปรแกรมรุ่นเยาว์และผู้พัฒนาระดับสูงจะได้ยินฉันพวกเขามีปฏิกิริยากับความประหลาดใจซึ่งทำให้ฉันสงสัยว่านี่เป็นเรื่องจริงหรือไม่ ชัดเจนเหมือนโคลน พิจารณาอินเทอร์เฟซด้วยวิธีการเหล่านี้ (สำหรับการสร้างไฟล์ข้อมูล): OpenFile SetHeaderString WriteDataLine SetTrailerString CloseFile ตอนนี้คุณสามารถแน่นอนเพียงไปถึงเหล่านี้ในการสั่งซื้อ แต่บอกว่าคุณไม่สนใจเกี่ยวกับชื่อไฟล์ (คิดว่าa.out) AddDataLineหรือสิ่งที่หัวและสตริงรถพ่วงถูกรวมคุณสามารถเพียงแค่โทร ตัวอย่างที่มีความรุนแรงน้อยกว่าอาจมองข้ามส่วนหัวและส่วนท้าย อาจมีอีกอย่างหนึ่งอาจตั้งค่าสตริงส่วนหัวและส่วนท้ายก่อนที่จะเปิดไฟล์ นี่เป็นหลักการของการออกแบบส่วนต่อประสานที่ได้รับการยอมรับหรือเป็นวิธี POLA ก่อนที่จะได้รับชื่อหรือไม่? NB ไม่จมลงในส่วนย่อยของอินเทอร์เฟซนี้มันเป็นเพียงตัวอย่างเพื่อประโยชน์ของคำถามนี้

2
การจัดหากิจกรรมและส่วนที่เหลือ
ฉันเจอการออกแบบการจัดหากิจกรรมและฉันต้องการใช้ในแอปพลิเคชันที่ต้องการให้ไคลเอ็นต์ REST (RESTful แม่นยำ) อย่างไรก็ตามฉันล้มเหลวในการเชื่อมต่อสิ่งเหล่านี้เข้าด้วยกันเนื่องจาก REST ค่อนข้างคล้ายกับ CRUD และการจัดหากิจกรรมเป็นงานที่ต้องทำ ฉันสงสัยว่าคุณจะออกแบบการสร้างคำสั่งตามคำขอไปยังเซิร์ฟเวอร์ REST ได้อย่างไร ลองพิจารณาตัวอย่างนี้: ด้วย REST คุณสามารถกำหนดสถานะใหม่ให้กับทรัพยากรที่เรียกว่าไฟล์ ในคำขอเดียวคุณสามารถส่งชื่อไฟล์ใหม่คุณสามารถเปลี่ยนโฟลเดอร์หลักและ / หรือเปลี่ยนเจ้าของไฟล์และอื่น ๆ วิธีสร้างเซิร์ฟเวอร์เพื่อให้ฉันสามารถใช้การจัดหากิจกรรมได้ ฉันคิดถึงความเป็นไปได้เหล่านี้: ตรวจสอบบนเซิร์ฟเวอร์ซึ่งสาขาที่มีการเปลี่ยนแปลงและสร้างคำสั่งที่เหมาะสม ( RenameFileCommand, MoveFileCommand, ChangeOwnerCommand, ... ) และจัดส่งเหล่านี้ที อย่างไรก็ตามในการตั้งค่านี้แต่ละคำสั่งสามารถล้มเหลวในการปล่อยให้ผู้อื่นออกจากการทำธุรกรรมและจากการเปลี่ยนแปลง "atomic" เป็นทรัพยากร ส่งเพียงหนึ่งคำสั่ง ( UpdateFileCommand) และในการจัดการคำสั่งอย่างแม่นยำมากขึ้นในการรวม, ตรวจสอบว่ามีการเปลี่ยนแปลงเขตและส่งแต่ละเหตุการณ์แทน ( FileRenamedEvent, FileMovedEvent, OwnerChangedEvent, ... ) อันนี้ฉันไม่ชอบเลย: ในคำขอไปยังเซิร์ฟเวอร์ฉันจะระบุในส่วนหัวของคำสั่งที่จะใช้เพราะ UI ยังคงเป็นงานที่ใช้ (การสื่อสารจะทำผ่าน REST) …

5
อัลกอริทึมสำหรับเปอร์เซ็นต์โดยไม่ทราบจำนวนรวม
สมมติว่ามีnเส้นสำหรับสายด่วน เมื่อใดก็ตามที่ลูกค้าโทรสายด่วนสายจะถูกส่งต่อไปยังหนึ่งในnสาย และฉันต้องการกำหนดเปอร์เซ็นต์ของการโทรไปยังแต่ละบรรทัด n สมมติว่ามีสองบรรทัดและหนึ่งบรรทัดถูกกำหนด 60% และอื่น ๆ คือ 40% จำนวนการโทรทั้งหมดคือ 10 ดังนั้นสายแรกจะได้รับ 6 การโทรและครั้งที่สองจะได้รับการโทร 4 ครั้ง ฉันรู้เปอร์เซ็นต์ของการโทรไปยังแต่ละสายล่วงหน้า แต่ปัญหาคือฉันไม่รู้จำนวนการโทรที่จะได้รับในหนึ่งวัน ฉันจะกระจายจำนวนการโทรโดยไม่รู้การโทรทั้งหมดได้อย่างไร?

9
โครงสร้างข้อมูลสำหรับการเข้าถึงหน่วยวัด
TL; DR - ฉันพยายามออกแบบโครงสร้างข้อมูลที่ดีที่สุดเพื่อกำหนดหน่วยภายในหน่วยการวัด Unit of measureเป็นหลักvalue(หรือปริมาณ) unitที่เกี่ยวข้องกับ หน่วย SIมีเจ็ดฐานหรือขนาด กล่าวคือความยาวมวลเวลากระแสไฟฟ้าอุณหภูมิปริมาณสาร (โมล) และความเข้มการส่องสว่าง สิ่งนี้จะตรงไปตรงมามากพอ แต่มีหน่วยที่ได้รับมาจำนวนมากรวมทั้งอัตราที่เราใช้บ่อย ตัวอย่างรวมหน่วยจะเป็นนิวตัน: และอัตราตัวอย่างจะเป็นkg * m / s^2tons / hr เรามีแอปพลิเคชั่นที่ต้องอาศัยหน่วยงานโดยนัย เราจะฝังหน่วยภายในชื่อตัวแปรหรือคอลัมน์ แต่สิ่งนี้จะสร้างปัญหาเมื่อเราจำเป็นต้องระบุหน่วยการวัดด้วยหน่วยที่แตกต่างกัน ใช่เราสามารถแปลงค่าที่อินพุทและจอแสดงผล แต่สิ่งนี้จะสร้างรหัสค่าใช้จ่ายจำนวนมากที่เราต้องการห่อหุ้มในคลาสของตัวเอง มีโซลูชั่นจำนวนมากเกี่ยวกับ codeplex และสภาพแวดล้อมการทำงานร่วมกันอื่น ๆ การอนุญาตให้ใช้สิทธิ์สำหรับโครงการนั้นเป็นที่ยอมรับ แต่โดยทั่วไปแล้วโครงการมักจะมีน้ำหนักเบาหรือหนักเกินไป เรากำลังไล่ตามยูนิคอร์นของเรา "ถูกต้อง" เป็นการดีที่ฉันสามารถกำหนดหน่วยวัดใหม่โดยใช้สิ่งนี้: UOM myUom1 = UOM ใหม่ (10, โวลต์); UOM myUom2 = UOM ใหม่ (43.2, …

5
วิธีทำให้การสร้างโหมดดูที่รันไทม์เจ็บปวดน้อยลง
ฉันขอโทษสำหรับคำถามยาว ๆ มันอ่านได้เล็กน้อยว่าเป็นคำโหยหวน แต่ฉันสัญญาว่ามันจะไม่! ฉันได้สรุปคำถามของฉันด้านล่าง ในโลกของ MVC สิ่งต่าง ๆ ตรงไปตรงมา รูปแบบมีสถานะมุมมองแสดงรูปแบบและตัวควบคุมทำสิ่งต่าง ๆ เพื่อ / กับรุ่น (โดยทั่วไป) ตัวควบคุมไม่มีสถานะ ในการทำสิ่งต่าง ๆ ที่คอนโทรลเลอร์มีการขึ้นต่อกันของบริการบนเว็บ, ที่เก็บ, ล็อต เมื่อคุณยกตัวอย่างคอนโทรลเลอร์ที่คุณสนใจเกี่ยวกับการจัดหาการพึ่งพาเหล่านั้นไม่มีอะไรอื่น เมื่อคุณเรียกใช้การกระทำ (เมธอดบนตัวควบคุม) คุณใช้การอ้างอิงเหล่านั้นเพื่อดึงหรืออัปเดตโมเดลหรือเรียกบริการโดเมนอื่น ๆ หากมีบริบทใด ๆ ให้พูดเช่นผู้ใช้บางคนต้องการดูรายละเอียดของรายการใดรายการหนึ่งคุณจะส่ง Id ของรายการนั้นเป็นพารามิเตอร์ไปยัง Action ไม่มีที่ใดในคอนโทรลเลอร์มีการอ้างอิงถึงสถานะใด ๆ จนถึงตอนนี้ดีมาก ป้อน MVVM ฉันรัก WPF ฉันรักการผูกข้อมูล ฉันรักเฟรมเวิร์กที่ทำให้การผูกข้อมูลกับ ViewModels ง่ายยิ่งขึ้น (โดยใช้ Caliburn Micro atm) ฉันรู้สึกว่าสิ่งต่าง ๆ …
17 c#  design  wpf  mvvm 

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