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

7
เป็นไปได้หรือไม่ที่ตรรกะทางธุรกิจจะไม่คืบคลานเข้ามาในมุมมอง?
ฉันได้พัฒนาโครงการเว็บแอพพลิเคชั่นหลายโครงการในช่วง 3 ปีที่ผ่านมาทั้งที่ทำงานส่วนตัวและที่ทำงานและฉันไม่สามารถคิดออกได้ว่าเป็นไปได้อย่างน้อยตรรกะทางธุรกิจบางอย่างที่ไม่สิ้นสุดในมุมมองของแอปพลิเคชัน ในกรณีส่วนใหญ่จะมีปัญหาเช่น "ถ้าผู้ใช้เลือกตัวเลือก x ดังนั้นแอปพลิเคชันจะต้องเปิดใช้งานเขาสามารถให้ข้อมูลสำหรับ y ถ้าไม่เช่นนั้น s / เขาควรจะให้ข้อมูล z" หรือดำเนินการ AJAX ซึ่งควรใช้การเปลี่ยนแปลงบางอย่างกับโมเดล แต่ไม่ยอมรับจนกว่าผู้ใช้จะร้องขออย่างชัดเจน นี่เป็นปัญหาที่ง่ายที่สุดที่ฉันพบและฉันไม่สามารถเข้าใจได้ว่าจะหลีกเลี่ยงตรรกะที่ซับซ้อนในมุมมองได้อย่างไร หนังสือส่วนใหญ่ที่ฉันได้อ่านอธิบาย MVC มักจะแสดงตัวอย่างเล็ก ๆ น้อย ๆ อย่างเช่นการดำเนินการ CRUD ที่เพิ่งอัปเดตข้อมูลบนเซิร์ฟเวอร์และแสดง แต่ CRUD ไม่ใช่กรณีของแอปพลิเคชันที่ร่ำรวยที่สุด เป็นไปได้ไหมที่จะมีมุมมองโดยไม่มีเหตุผลทางธุรกิจเลย?

3
ที่ควรวางตรรกะทางธุรกิจหลามใน django
ฉันเพิ่งเริ่มเรียนรู้การพัฒนา Django / Python / Web ปัญหานี้ทำให้ฉันหนักใจมาระยะหนึ่งแล้ว ฉันกำลังสร้างแอปพลิเคชันที่มีแม่แบบหลายรายการใน Django ฉันมี views.py ซึ่งเป็นเพียงการแสดงผลการตอบสนองต่อเทมเพลตนั้นและฉันมี models.py ที่ฉันได้จัดทำฐานข้อมูลของฉัน ในหนึ่งในเทมเพลตของฉันฉันต้องอัปโหลดภาพ (ซึ่งฉันสามารถทำได้) และฉันต้องเรียกใช้ลอจิกซึ่งขึ้นอยู่กับคุณสมบัติของภาพที่อัปโหลด (ยังไม่เสร็จ) ตรรกะนี้เกี่ยวข้องกับการคำนวณจำนวนมาก หลังจากทำการคำนวณตรรกะควรส่งคืนข้อมูล (พิกัด) ที่ประมวลผลไปยังเทมเพลต ฉันสามารถดำเนินการทั้งหมดนี้ได้สำเร็จในแอปพลิเคชันหลามแบบสแตนด์อโลนสำหรับการเรียกใช้ไฟล์หลามหลังจากที่อื่น อย่างไรก็ตามเนื่องจากตอนนี้ฉันต้องการทำให้เว็บแอปพลิเคชันนี้ฉันเริ่มใช้เฟรมเวิร์ก Django ฉันทำการค้นหาจำนวนมาก แต่ฉันยังคงไม่สามารถระบุได้ว่าฉันควรวางไฟล์ Python นี้ตรงไหนกับตรรกะทั้งหมด ฉันควรจะมีไฟล์ที่ใช้คลาสอื่น(logic.py)และเรียกมันจากview.py? ฉัน googled และพบว่านักพัฒนาจำนวนมากวางตรรกะทางธุรกิจของตนใน models.py ใน Django อย่างไรก็ตามฉันรู้สึกว่ามันไม่ถูกต้องเพราะรูปแบบควรสื่อสารกับส่วนหลังเท่านั้น ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมขอบคุณล่วงหน้า

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

4
การแม็พระหว่างโมเดลมุมมองสถาปัตยกรรม 4 + 1 และ UML
ฉันสับสนเล็กน้อยเกี่ยวกับรูปแบบสถาปัตยกรรมมุมมอง 4 + 1 จับคู่กับ UML Wikipediaให้การแมปต่อไปนี้: มุมมองเชิงตรรกะ:แผนภาพคลาส, แผนภาพการสื่อสาร, แผนภาพลำดับ มุมมองการพัฒนา:แผนภาพส่วนประกอบ, แผนภาพแพคเกจ มุมมองกระบวนการ:แผนภาพกิจกรรม มุมมองทางกายภาพ:แผนภาพการปรับใช้ สถานการณ์จำลอง:แผนภาพการใช้เคส กระดาษบทบาทของ UML แผนภาพลำดับ Constructs ในวัตถุ Lifecycle แนวคิดจะช่วยให้การทำแผนที่ต่อไปนี้: มุมมองเชิงตรรกะ (แผนภาพคลาส (CD), วัตถุแผนภาพ (OD), แผนภาพลำดับ (SD), แผนภาพความร่วมมือ (COD), แผนภาพสถานะของรัฐ (SCD), แผนภาพกิจกรรม (AD)) มุมมองการพัฒนา (แผนภาพแพคเกจแผนภาพส่วนประกอบ) มุมมองกระบวนการ (ใช้แผนภาพกรณี, CD, OD, SD, COD, SCD, AD) มุมมองทางกายภาพ (แผนภาพการปรับใช้) และ ใช้มุมมองกรณี (ใช้แผนภาพกรณี, …
15 architecture  uml  model  view 

2
สถาปัตยกรรมที่สะอาด: โมเดลการดูคืออะไร
ในหนังสือของเขาที่ชื่อว่า 'Clean Architecture' ลุงบ๊อบบอกว่าผู้นำเสนอควรใส่ข้อมูลที่ได้รับมาในสิ่งที่เขาเรียกว่า 'ดูแบบจำลอง' นี่เป็นสิ่งเดียวกันกับ 'ViewModel' จากรูปแบบการออกแบบ Model-View-ViewModel (MVVM) หรือเป็น Data Transfer Object (DTO) แบบง่ายหรือไม่? ถ้าไม่ใช่ DTO แบบง่ายมันเกี่ยวข้องกับมุมมองอย่างไร มุมมองได้รับการปรับปรุงจากความสัมพันธ์ผ่านผู้สังเกตการณ์หรือไม่ ฉันเดาว่ามันเป็นเหมือน ViewModel จาก MVVM เพราะในบทที่ 23 ของหนังสือของเขา Robert Martin กล่าวว่า: [งานของผู้นำเสนอ] คือการยอมรับข้อมูลจากแอปพลิเคชันและจัดรูปแบบสำหรับงานนำเสนอเพื่อให้มุมมองสามารถย้ายไปที่หน้าจอได้ ตัวอย่างเช่นหากแอปพลิเคชันต้องการวันที่แสดงในเขตข้อมูลมันจะมอบวัตถุวันที่นำเสนอ ผู้นำเสนอจะจัดรูปแบบข้อมูลนั้นลงในสตริงที่เหมาะสมและวางไว้ในโครงสร้างข้อมูลอย่างง่ายที่เรียกว่ารุ่นมุมมองซึ่งมุมมองสามารถค้นหาได้ นี่ก็หมายความว่ามุมมองนั้นเชื่อมต่อกับ ViewModel แทนการรับฟังก์ชั่นอาร์กิวเมนต์เป็นตัวอย่าง อีกเหตุผลหนึ่งที่ฉันคิดว่านี่เป็นเพราะถ้าคุณดูที่ภาพผู้นำเสนอใช้โมเดลมุมมอง แต่ไม่ใช่มุมมอง ในขณะที่ผู้นำเสนอใช้ทั้งขอบเขตการส่งออกและข้อมูลการส่งออก DTO หากไม่ใช่ DTO หรือ ViewModel จาก MVVM โปรดอธิบายอย่างละเอียดว่ามันคืออะไร

2
มุมมองที่ควรรู้เกี่ยวกับรูปแบบเท่าไหร่?
ฉันกำลังสร้างแอพพลิเคชั่นในไพ ธ อนด้วยไพ ธ อนแรปเปอร์สำหรับ WPF และด้วยการรองรับ DAG ขณะนี้ฉันอยู่ในจุดที่ฉันต้องตัดสินใจเลือกวิธีที่สอดคล้องกันในการโต้ตอบระหว่างข้อมูลและมุมมอง เท่าที่ฉันเห็นมีอยู่สองวิธีที่ชัดเจนในปัจจุบัน สิ่งแรกนั้นคล้ายกับโครงสร้างแอปพลิเคชัน Android คุณมีตัวควบคุมที่กำหนด / เติมมุมมอง ดังนั้นคอนโทรลเลอร์จึงเป็นเจ้าของมุมมองและผลักดันเฉพาะข้อมูลดั้งเดิมที่จะแสดง มุมมองเป็นเพียงเลเยอร์โง่และไม่รู้ว่าเกิดอะไรขึ้นและข้อมูลมาจากไหน และถ้าผู้ใช้โต้ตอบกับมุมมองมันจะส่งการเรียกกลับไปยังตัวควบคุม (ถ้าลงทะเบียนแล้ว) UserInfoController.py userInfoView = UserInfoView() userInfoView.onGenderChangedCallback = self.onGenderChangedCallback userInfoView.setUserGenderValue(user.getGender()) UserInfoView.py def setUserGenderValue(self, gender): self.userGender = gender def getView(self): return ui.Label(self.userGender, onEditCallback=self.onGenderChangedCallback) ประการที่สองคือการส่งแบบจำลอง (การอ้างอิง) ไปยังมุมมองและให้มุมมองเพื่อดึงและอัปเดตข้อมูล มุมมองในขณะนี้มีรูปแบบและดังนั้นจึงสามารถปรับปรุงได้โดยไม่ต้องโทรกลับไปที่ตัวควบคุมเพิ่มเติม UserInfoViewModel.py self.gender = 'Male' UserInfoView.py def getView(self): …
10 model  view 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.