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

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

1
การใช้ DTO คืออะไรแทนที่จะใช้ Entity
ฉันกำลังทำงานกับแอปพลิเคชัน RCP ฉันยังใหม่กับแอปพลิเคชันนี้ Spring beans ใช้เพื่อเขียนตรรกะทางธุรกิจเพื่อบันทึก / ดึงเอนทิตี แต่แทนที่จะส่งเอนทิตีโดยตรงไปยังไคลเอนต์เรากำลังแปลงเป็น DTOsและเติมลูกค้า ในขณะที่ประหยัดเรากำลังแปลง DTO เป็นเอนทิตีและประหยัดอีกครั้ง ประโยชน์ของการแปลงเหล่านี้คืออะไร มีคนอธิบายได้ไหม
18 java  spring  entity  map  dto 

3
การแชร์วัตถุ DTO ระหว่างไมโครไซต์
TL; DR - การใช้ไลบรารี POJO ร่วมกันระหว่างบริการต่าง ๆ เป็นเรื่องปกติไหม โดยทั่วไปเราต้องการให้การแบ่งปันระหว่างบริการ จำกัด อย่างเข้มงวดเป็นไม่ถ้าเป็นไปได้ มีการถกเถียงกันบ้างหรือไม่ว่าบริการที่ใช้ข้อมูลร่วมกันนั้นควรจัดให้มีห้องสมุดลูกค้าให้ลูกค้าใช้หรือไม่ โดยทั่วไปแล้ว client-lib นั้นเป็นทางเลือกสำหรับลูกค้าของบริการที่จะใช้และสามารถใช้งาน API ได้อย่างไรก็ตามพวกเขาจะโปรดใช้ว่าจะใช้ client-lib หรือใช้ภาษาอื่นและใช้ลักษณะทั่วไปของไลบรารีและเช่นนั้น ในกรณีของฉัน - ฉันพิจารณาบริการที่สร้างวัตถุของข้อมูล สมมติว่าวัตถุนี้เป็นสัตว์เลี้ยง มันไม่ใช่เอนทิตีของฐานข้อมูล แต่เป็น POJO ที่แสดงถึงข้อมูลพื้นฐานโดยนัย POJO นี้เป็นสิ่งที่ API ได้กำหนดไว้ สมมติว่า: สัตว์เลี้ยง - อายุ, น้ำหนัก, ชื่อ, เจ้าของ, ที่อยู่, สปีชี่ ฯลฯ บริการ 1 - PetKeeper: มันจะสร้างสัตว์เลี้ยงด้วยเหตุผลใดก็ตามและเก็บข้อมูลทั้งหมดไว้และต้องอ้างอิงบริการนี้เพื่อรับสัตว์เลี้ยงหรือทำการดัดแปลงสัตว์เลี้ยงให้พูดการเปลี่ยนชื่อหรือการเปลี่ยนที่อยู่จะต้องทำผ่าน การเรียก API ไปยังบริการนี้ บริการ …

4
ใช้การจัดองค์ประกอบและการสืบทอดสำหรับ DTO
เรามี ASP.NET Web API ที่ให้บริการ REST API สำหรับแอปพลิเคชันหน้าเดียวของเรา เราใช้ DTOs / POCO เพื่อส่งผ่านข้อมูลผ่าน API นี้ ปัญหาคือตอนนี้ DTO เหล่านี้เริ่มใหญ่ขึ้นตามกาลเวลาดังนั้นตอนนี้เราต้องการที่จะปรับโครงสร้าง DTO อีกครั้ง ฉันกำลังมองหา "วิธีปฏิบัติที่ดีที่สุด" วิธีการออกแบบ DTO: ขณะนี้เรามี DTO ขนาดเล็กที่ประกอบด้วยเฉพาะเขตข้อมูลประเภทค่าเช่น: public class UserDto { public int Id { get; set; } public string Name { get; set; } } DTO อื่น ๆ ใช้ …
13 rest  api-design  web-api  dto  poco 

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

6
การแยกคลาสส่วนใหญ่ออกเป็นฟิลด์ข้อมูลเฉพาะคลาสและเมธอดเท่านั้นคลาส (ถ้าเป็นไปได้) แบบดีหรือแบบต่อต้านหรือไม่?
ตัวอย่างเช่นคลาสมักจะมีสมาชิกชั้นเรียนและวิธีการเช่น: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } แต่หลังจากอ่านเกี่ยวกับหลักการความรับผิดชอบเดี่ยวและหลักการเปิดแบบปิดฉันชอบแยกคลาสออกเป็น DTO และคลาสตัวช่วยด้วยวิธีสแตติกเท่านั้นเช่น: public class CatData{ public String name; public int weight; public Image image; } public class CatMethods{ public static …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.