เค้าโครง | ชื่อ | ลิงก์ถาวร | คำอธิบาย | วันที่ | แท็ก |
---|---|---|---|---|---|
โพสต์ | MvvmForms Readme | ใหม่-page.html | Readme สำหรับแบบฟอร์ม Mvvm | 17-05-2558 16:31:30 -0700 | เอ็มวีวีเอ็ม; แบบฟอร์ม Windows |
ยินดีต้อนรับสู่โครงการห้องสมุด MvvmForms ของ ActiveDevelop วัตถุประสงค์ของ MvvmForm คือเพื่อให้การสนับสนุนที่เข้ากันได้กับ XAML ViewModel สำหรับ Windows Forms Visual Basic และโครงการและโซลูชัน CSharp รวมถึงการสนับสนุน WinForms Designer เต็มรูปแบบ MvvmForms เป็นโอเพ่นซอร์ส (GPL) แต่เป็นลิขสิทธิ์แบบคู่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการอนุญาตให้ใช้สิทธิ์ MvvmForms โปรดอ่านส่วนใบอนุญาตด้านล่าง
หากคุณมีข้อได้เปรียบในการเริ่มต้นใหม่ทั้งหมดสำหรับโครงการใหม่ของคุณ และทีมพัฒนาของคุณก็พร้อมที่จะทำงาน คุณคงไม่จำเป็นต้องใช้ MvvmForms แต่นั่นไม่ได้เป็นเช่นนั้นบ่อยนัก ในสถานการณ์ส่วนใหญ่ มีการเขียนโค้ดหลายร้อยล้านบรรทัดสำหรับแพลตฟอร์ม Windows ในช่วงเวลาระหว่างปี 1996 ถึง 2010 และบ่อยครั้งใน CSharp และ Visual Basic .NET สำหรับ Windows Forms หรือแม้แต่กับ Visual Basic 6 บริษัทหลายแห่งไม่ มีความสามารถในการโยนโครงการเหล่านั้นทิ้งไปและเริ่มต้นจากศูนย์ แล้วเพื่ออะไรล่ะ? โซลูชันของคุณใช้งานได้ มีความเสถียรและผ่านการทดสอบแล้ว แล้วทำไมไม่ใช้มันต่อไปล่ะ?
MvvmForms เหมาะสำหรับคุณหากคุณต้องการเปลี่ยนกระบวนทัศน์การพัฒนาของคุณ หากคุณต้องการกำจัด Code Behind และแนะนำสถาปัตยกรรมที่ดีโดยแยกข้อกังวลออก หากคุณต้องการสร้างตามสถาปัตยกรรมที่สามารถทดสอบหน่วยได้ หากคุณต้องการสร้างสถาปัตยกรรมหลายระดับจากซอฟต์แวร์ที่มีอยู่ของคุณเพียงแค่ปรับโครงสร้างใหม่ทีละส่วน ซึ่งคุณสามารถใช้ซอฟต์แวร์ส่วนใหญ่ซ้ำสำหรับ UI ต่างๆ เช่น Windows Universal Apps, iOS Apps หรือ Android Apps
บริษัทของเราตั้งอยู่ในเวสต์ฟาเลีย ประเทศเยอรมนี มีความเชี่ยวชาญในการย้ายจากกระบวนทัศน์ Windows Forms Code Behind ทั่วไปไปสู่สถาปัตยกรรมสมัยใหม่ และเราช่วยทำสิ่งนี้ในวิธีที่เป็นไปได้ เรารู้ว่าทีมของคุณไม่มีเวลาหรืองบประมาณในการเริ่มต้นใหม่ และนั่นคือเหตุผลที่เราพัฒนา MvvmForms: เพื่อช่วยให้ลูกค้าของเราเข้าสู่โลกใหม่ของการพัฒนาซอฟต์แวร์โดยไม่เป็นอันตรายต่อโครงการ
MvvmForms คือชุดของการควบคุมสำหรับ Windows Forms เดิมที ได้รับการออกแบบมาเพื่อเร่งกระบวนการพัฒนาสำหรับแบบฟอร์มที่มีข้อมูลจำนวนมาก และเพื่อตอบสนองความต้องการแบ็กเอนด์ฐานข้อมูลด้วยสถานการณ์ทั่วไป เช่น การจัดการ DBNulls โดยไม่ต้องใช้ความพยายาม การจัดการแบบฟอร์มในสถานะสกปรก การเน้นที่โฟกัส การประมวลผลของ สูตรในช่องป้อนข้อมูลตัวเลข ป๊อปอัปการค้นหาแบบหลายเธรด/หลายคอลัมน์สำหรับคอลเลกชันมากถึง 100,000 รายการ และอื่นๆ อีกมากมาย ในช่วงกลางปี 2012 บริษัทเยอรมันสองแห่งติดต่อมาหาเราเพื่อหาวิธีที่จะคงการออกแบบ Windows Forms ที่มีอยู่ไว้ แต่พวกเขาต้องการนำรูปแบบ Mvvm ไปใช้กับบางส่วนของแอปพลิเคชัน LOB ของตน เพื่อให้สามารถนำโค้ดนี้กลับมาใช้ซ้ำได้ แอพมือถือและเพื่อวัตถุประสงค์อื่น นั่นคือจุดเริ่มต้นของ MvvmForms และเราได้พัฒนามันจากชุดเครื่องมือที่มีอยู่ วิธีนี้ใช้ได้ผลดีเป็นพิเศษ ดังนั้นเราจึงดำเนินการแนวทางนี้ต่อไปและเพิ่มฟังก์ชันการออกแบบที่หลากหลายสำหรับส่วนประกอบ Mvvm
เนื่องจากประวัตินี้ MvvmForms จึงตอบสนองความต้องการของ Windows Forms สองประการ ประการแรกคือทำให้การออกแบบแบบฟอร์มที่มีข้อมูลจำนวนมากง่ายขึ้นโดยจัดให้มีการควบคุม เช่น NullableDateValue, NullableNumValue, NullableTextValue, การควบคุมสำหรับการจัดการ DirtyState ใน Form และอื่นๆ
อันที่สองคือการเปิดใช้งาน Windows Forms สำหรับ Mvvm ในการสิ้นสุดสิ่งนี้ คุณไม่จำเป็นต้องใช้หนึ่งในการควบคุมที่ MvvmForms มีให้ คุณเพียงแค่ต้องมีองค์ประกอบเดียว: ส่วนประกอบ MvvmManager โดยพื้นฐานแล้ว เพียงลากส่วนประกอบนั้นลงในแบบฟอร์มของคุณ ตั้งค่าคุณสมบัติ DataContextType ให้เป็นประเภทของ ViewModel ที่คุณต้องการผูก และทุกการควบคุมบนแบบฟอร์มนั้นจะได้รับคุณสมบัติ PropertyBindings ซึ่งช่วยให้คุณสามารถผูกกับคุณสมบัติ ViewModel ที่เกี่ยวข้องได้ คุณเพียงแค่ต้องตั้งค่าคุณสมบัติ DataContext ของ MvvmManager Component ณ รันไทม์ คุณจะพบคำแนะนำสั้น ๆ ทีละขั้นตอนในการเริ่มต้น อ่านวิกิ - ลิงก์อยู่ที่นี่ทางด้านขวา
ด้านบน: ดูวิดีโอแนะนำนี้บน youtube ซึ่งไม่เพียงแต่ให้การแนะนำ MvvmForms แต่ยังรวมถึง MVVM โดยทั่วไปด้วย
https://www.youtube.com/watch?v=1R_81Np5ใหม่
โอ้ใช่แล้ว! ทีมงานของเราที่ ActiveDevelop ดูแล MvvmForms เป็นประจำทุกวัน เนื่องจากมีโครงการใหญ่สองโครงการในเยอรมนีที่ต้องพึ่งพา MvvmForms ซึ่งบางโครงการมีขนาดใหญ่กว่า 1 ล้านบรรทัด เนื่องจากเราเป็นบริษัทสัญชาติเยอรมัน และเราเริ่มแปล MvvmForms เป็นภาษาอังกฤษแล้ว จึงยังคงมีความคิดเห็นภาษาเยอรมันและ XML-Docu-Tags จำนวนมากอยู่ในแหล่งที่มา - แต่เรากำลังดำเนินการในส่วนนี้ แต่ MvvmForms พร้อมใช้งาน มีความเสถียร เชื่อถือได้ ทดสอบอย่างละเอียด และหากคุณต้องการการสนับสนุนพิเศษหรือต้องการเริ่มต้นอย่างเร่งด่วน และต้องการให้เราปรับแต่ง แปล หรือขยายฟังก์ชันการทำงาน มากกว่าเพียงแค่ติดต่อเรา ดังนั้น เราสามารถหาวิธีที่จะทำให้สิ่งนี้เกิดขึ้นได้
ใช่โดยไม่มีข้อจำกัด หนึ่งในสามของโครงการปัจจุบันของเราอยู่ใน CSharp ส่วนที่เหลือเราทำใน VB และบางส่วนของ MvvmForms (เช่น Mvvm Base Library) ก็อยู่ใน CSharp เช่นกัน ส่วนอื่นๆอยู่ใน VB ดังนั้น ตราบใดที่คุณใช้ Windows Forms คุณก็ไปได้ดี ภาษาก็ไม่สำคัญ
ใช่ สำหรับโครงการโอเพ่นซอร์ส สำหรับโครงการเชิงพาณิชย์ที่มีความเหมาะสม มันไม่ได้ฟรีทั้งหมด แต่ก็เกือบจะดีพอๆ กับฟรีเลย เป้าหมายหลักของเราคือการหาโอกาสใหม่ๆ เพื่อช่วยด้วยความเชี่ยวชาญกว่า 25 ปีของเราในการออกแบบแอปพลิเคชัน LOB และโดยเฉพาะอย่างยิ่งเพื่อแสดงวิธีที่ลูกค้าของเราจะโยกย้ายซอฟต์แวร์ของพวกเขาจากการเป็นซอฟต์แวร์ Win32 ขนาดใหญ่ที่ใหญ่โตไปสู่แนวทางที่ทันสมัยโดยไม่มีความเสี่ยง โดยที่พวกเขาสามารถก้าวไปข้างหน้าด้วยการประมวลผลแบบคลาวด์, Windows 10, แอพมือถือ และอีกมากมายโดยไม่ต้องทำซ้ำทุกอย่างตั้งแต่เริ่มต้น
ดังนั้น หากคุณต้องการให้เราช่วยเหลือคุณเกี่ยวกับแอปพลิเคชันที่มีอยู่ของคุณด้วยการทำเวิร์คช็อป ช่วยในการออกแบบสถาปัตยกรรมใหม่ ค้นหาแนวคิดการย้ายข้อมูลที่เป็นไปได้ แนะนำ Scrum ให้กับทีมของคุณ หรือจัดหาทรัพยากรบุคคลในระยะเวลาที่จำกัดเพื่อวัตถุประสงค์ของ กระบวนการปรับปรุงให้ทันสมัย เรานำ MvvmForms ไปด้วย ถ้าอย่างนั้นก็ฟรีสำหรับคุณเพราะคุณคือลูกค้าของเรา ใช้งานเลย: คุณได้รับใบอนุญาตโดยนัยสำหรับการใช้งานเชิงพาณิชย์ใดๆ หากคุณเป็นหรือเคยเป็นลูกค้าของเรามาก่อน อย่างไรก็ตาม หากคุณไม่ต้องการเรา แต่ต้องการชุดเครื่องมือ เพียงพูดคุยกับเรา แล้วเราจะหารูปแบบการสนับสนุนที่ดีที่สุดสำหรับคุณ: [email protected]
หากคุณกำลังดูแลโครงการโอเพ่นซอร์สภายใต้ GPL และต้องการใช้ เอาเลย: แยกมัน เปลี่ยนแปลงมัน แก้ไขมัน และขายมันพร้อมกับแอป Open Source ของคุณ นั่นคือโอเพ่นซอร์ส! ตราบใดที่แอปพลิเคชันของคุณซึ่งลิงก์ไปยังแอปพลิเคชันนั้น หรือใช้คลาสที่ได้มาจาก MvvmForms ก็เป็น GPL เช่นกัน นั่นก็ถือว่าใช้ได้อย่างสมบูรณ์แบบ แต่หากคุณจัดการโซลูชันแหล่งปิดที่เหมาะสม และต้องการใช้ (ลิงก์ไปยัง สืบทอดจาก) MvvmForms คุณจะต้องได้รับสิทธิ์ใช้งานหนึ่งสิทธิ์ต่อนักพัฒนาที่ใช้งานอยู่หนึ่งคน
ใช่. เพียงสร้างคำขอดึง