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

9
จะสื่อสารลำดับการแทรกนั้นสำคัญอย่างไรในแผนที่?
ฉันกำลังดึงชุดของสิ่งอันดับจากฐานข้อมูลและวางลงในแผนที่ แบบสอบถามฐานข้อมูลมีราคาแพง ไม่มีการจัดเรียงองค์ประกอบตามธรรมชาติที่เห็นได้ชัดในแผนที่ แต่ลำดับการแทรกยังคงสำคัญ การเรียงลำดับแผนที่จะเป็นการดำเนินการที่หนักหน่วงดังนั้นฉันต้องการหลีกเลี่ยงการทำเช่นนั้นเนื่องจากผลลัพธ์แบบสอบถามนั้นได้เรียงลำดับตามที่ฉันต้องการแล้ว ดังนั้นฉันเพิ่งเก็บผลลัพธ์แบบสอบถามลงในLinkedHashMapและส่งคืนแผนที่จากวิธี DAO: public LinkedHashMap<Key, Value> fetchData() ฉันมีวิธีprocessDataที่ควรทำการประมวลผลบนแผนที่ - แก้ไขค่าบางอย่างเพิ่มคีย์ / ค่าใหม่ มันถูกกำหนดให้เป็น public void processData(LinkedHashMap<Key, Value> data) {...} อย่างไรก็ตาม linters หลายตัว (Sonar ฯลฯ ) บ่นว่าประเภทของ 'data' ควรเป็นส่วนต่อประสานเช่น 'Map' แทนที่จะใช้ "LinkedHashMap" ( squid S1319 ) โดยพื้นฐานแล้วมันบอกว่าฉันควรจะมี public void processData(Map<Key, Value> data) {...} แต่ฉันต้องการให้ลายเซ็นของวิธีการบอกว่าลำดับของแผนที่มีความสำคัญกับอัลกอริธึมprocessDataเพื่อที่ว่าวิธีการของฉันจะไม่ผ่านแผนที่แบบสุ่มใด ๆ ฉันไม่ต้องการใช้SortedMapเพราะ (จากjavadoc …
24 java  code-quality  map 

6
แผนที่ของฟังก์ชั่นเทียบกับคำสั่งเปลี่ยน
ฉันกำลังทำงานในโครงการที่ประมวลผลคำขอและมีสององค์ประกอบในการร้องขอคือคำสั่งและพารามิเตอร์ ตัวจัดการสำหรับแต่ละคำสั่งนั้นง่ายมาก (<10 บรรทัดมัก <5) มีคำสั่งอย่างน้อย 20 คำและน่าจะมีมากกว่า 50 คำสั่ง ฉันคิดวิธีแก้ปัญหาสองสามข้อ: สวิตช์ใหญ่ / if-else หนึ่งคำสั่ง แผนที่ของคำสั่งไปยังฟังก์ชั่น แผนที่ของคำสั่งไปยังคลาสที่คงที่ / singletons แต่ละคำสั่งทำการตรวจสอบข้อผิดพลาดเล็กน้อยและบิตเดียวที่สามารถแยกออกได้คือการตรวจสอบจำนวนพารามิเตอร์ที่กำหนดไว้สำหรับแต่ละคำสั่ง อะไรจะเป็นทางออกที่ดีที่สุดสำหรับปัญหานี้และเพราะอะไร ฉันยังเปิดรับรูปแบบการออกแบบใด ๆ ที่ฉันอาจพลาดไป ฉันคิดรายการ pro / con ต่อไปนี้สำหรับแต่ละรายการ: สวิตซ์ ข้อดี เก็บคำสั่งทั้งหมดไว้ในฟังก์ชันเดียว เนื่องจากมันเรียบง่ายนี่ทำให้เป็นตารางการค้นหาด้วยภาพ ไม่ต้องวุ่นวายกับแหล่งข้อมูลด้วยฟังก์ชั่นขนาดเล็กจำนวนมาก / คลาสที่สามารถใช้งานได้ในที่เดียว ข้อเสีย นานมาก ยากที่จะเพิ่มคำสั่งโดยทางโปรแกรม (จำเป็นต้องโยงใช้ตัวพิมพ์เล็ก) คำสั่งแผนที่ -> ฟังก์ชั่น ข้อดี ชิ้นเล็กขนาดกัด สามารถเพิ่ม / ลบคำสั่งโดยทางโปรแกรม ข้อเสีย หากทำแบบอินไลน์เหมือนกับสวิตช์ …

4
“ ใช้แผนที่แทนคลาสเพื่อแสดงข้อมูล” -Rich Hickey
ในวิดีโอนี้โดย Rich Hickeyผู้สร้าง Clojure เขาแนะนำให้ใช้แผนที่เพื่อแสดงข้อมูลแทนการใช้คลาสเพื่อเป็นตัวแทนของมันดังที่ทำใน Java ฉันไม่เข้าใจว่ามันจะดีกว่านี้ได้อย่างไรเนื่องจากผู้ใช้ API จะรู้ได้อย่างไรว่าปุ่มป้อนข้อมูลคืออะไรหากมีการแสดงเป็นแผนที่ ตัวอย่าง : PersonAPI { Person addPerson(Person obj); Map<String, Object> addPerson(Map<String, Object> personMap); } ในฟังก์ชั่นที่สองผู้ใช้ API จะรู้ได้อย่างไรว่าอินพุตใดที่จะสร้างบุคคล
19 java  design  class  clojure  map 

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