เนื้อหยาบเทียบกับเนื้อละเอียด


129

อะไรคือความแตกต่างระหว่างเนื้อหยาบและแบบละเอียด?

ฉันได้ค้นหาคำเหล่านี้ใน Google แต่ไม่พบความหมาย


ฉันคิดว่าคำถามไม่เฉพาะเจาะจงเพียงพอ เงื่อนไขเหล่านี้จะไม่ใช้เพียงเพื่อ desribe ละเอียดของส่วนประกอบของระบบ นอกจากนี้ยังใช้เพื่ออธิบายรายละเอียดของการควบคุมการเข้าถึง (และอาจมีการใช้งานมากกว่านี้ ... )
fose

คำตอบ:


137

จากWikipedia (รายละเอียด) :

ความละเอียดเป็นขอบเขตที่ระบบถูกแบ่งออกเป็นส่วนเล็ก ๆ ไม่ว่าจะเป็นระบบเองหรือคำอธิบายหรือการสังเกต เป็นขอบเขตของการแบ่งย่อยเอนทิตีที่ใหญ่กว่า ตัวอย่างเช่นหลาที่แตกออกเป็นนิ้วมีความละเอียดมากกว่าหลาที่แตกออกเป็นฟุต

ระบบที่มีเนื้อหยาบประกอบด้วยส่วนประกอบที่น้อยกว่าและมีขนาดใหญ่กว่าระบบที่มีเนื้อละเอียด คำอธิบายแบบหยาบของระบบเกี่ยวกับส่วนประกอบย่อยขนาดใหญ่ในขณะที่คำอธิบายแบบละเอียดเกี่ยวกับส่วนประกอบขนาดเล็กซึ่งส่วนประกอบที่ใหญ่กว่านั้นประกอบด้วย


39

พูดง่ายๆคือ

  • เนื้อหยาบ - ส่วนประกอบที่มีขนาดใหญ่กว่าส่วนประกอบย่อยขนาดใหญ่ที่มีเนื้อละเอียด เพียงรวมบริการแบบละเอียดอย่างน้อยหนึ่งบริการเข้าด้วยกันเป็นการดำเนินการที่หยาบยิ่งขึ้น
  • เนื้อละเอียด - ส่วนประกอบที่เล็กกว่าซึ่งส่วนประกอบที่ใหญ่กว่าประกอบด้วยบริการระดับล่าง

จะเป็นการดีกว่าที่จะมีการให้บริการที่มีความหยาบมากขึ้นซึ่งประกอบด้วยการดำเนินการที่ละเอียด

ใส่คำอธิบายภาพที่นี่


25

หยาบ:โอเจ็กต์สองสามรายการมีข้อมูลที่เกี่ยวข้องจำนวนมากนั่นเป็นสาเหตุที่บริการมีขอบเขตการทำงานที่กว้างขึ้น ตัวอย่าง: ออบเจ็กต์ "บัญชี" เดียวเก็บชื่อลูกค้าที่อยู่ยอดเงินในบัญชีวันที่เปิดวันที่เปลี่ยนแปลงล่าสุดเป็นต้น ดังนั้น:ความซับซ้อนในการออกแบบที่เพิ่มขึ้นจำนวนเซลล์ที่น้อยลงเพื่อการดำเนินการต่างๆ

ละเอียด: ออบเจ็กต์อื่น ๆ แต่ละชิ้นเก็บข้อมูลน้อยลงนั่นคือสาเหตุที่บริการมีขอบเขตการทำงานที่แคบกว่า ตัวอย่าง: อ็อบเจ็กต์บัญชีมียอดคงเหลือ, อ็อบเจ็กต์ของลูกค้ามีชื่อและที่อยู่, อ็อบเจ็กต์ AccountOpenings มีวันที่เปิดเป็นต้น ดังนั้น:ความซับซ้อนในการออกแบบลดลง, จำนวนเซลล์ที่สูงขึ้นสำหรับการดำเนินการบริการต่างๆ นี่คือความสัมพันธ์ที่กำหนดระหว่างวัตถุเหล่านี้


จะเป็นการดีกว่าที่จะมีการให้บริการที่มีความหยาบมากขึ้นซึ่งประกอบด้วยการดำเนินการที่ละเอียด
Humaun Rashid Nayan

แรงบันดาลใจจาก: theserverside.com/discussions/thread/5164.html ;)
AliN11

7

อีกวิธีหนึ่งในการทำความเข้าใจคือการคิดในแง่ของการสื่อสารระหว่างกระบวนการและเธรด กระบวนการสื่อสารด้วยความช่วยเหลือของกลไกการสื่อสารแบบหยาบเช่นซ็อกเก็ตตัวจัดการสัญญาณหน่วยความจำแบบแบ่งใช้เซมาโฟร์และไฟล์ ในทางกลับกันเธรดสามารถเข้าถึงพื้นที่หน่วยความจำแบบแบ่งใช้ที่เป็นของกระบวนการซึ่งช่วยให้สามารถใช้กลไกการสื่อสารที่ละเอียดกว่าได้

ที่มา: Java concurrency ในทางปฏิบัติ


3

ในแง่ของชุดข้อมูลเช่นไฟล์ข้อความความหมายแบบหยาบหมายถึงเราสามารถแปลงชุดข้อมูลทั้งหมด แต่ไม่สามารถเปลี่ยนองค์ประกอบแต่ละรายการในชุดข้อมูลได้ในขณะที่มีการปรับขนาดละเอียดหมายความว่าเราสามารถเปลี่ยนองค์ประกอบแต่ละรายการในชุดข้อมูลได้


2

ในบริบทของบริการ:

http://en.wikipedia.org/wiki/Service_Granularity_Principle

ตามความหมายการดำเนินการบริการแบบหยาบมีขอบเขตที่กว้างกว่าบริการแบบละเอียดแม้ว่าข้อกำหนดจะสัมพันธ์กันก็ตาม ในอดีตมักต้องการความซับซ้อนในการออกแบบที่เพิ่มขึ้น แต่สามารถลดจำนวนการโทรที่ต้องใช้ในการทำงานให้เสร็จสิ้น

อินเทอร์เฟซบริการแบบละเอียดเป็นเรื่องเดียวกับอินเทอร์เฟซช่างพูด


2

ทั้งแบบหยาบและแบบละเอียดจะคิดเกี่ยวกับการเพิ่มประสิทธิภาพการบริการจำนวนมาก แต่ความแตกต่างอยู่ในระดับ ฉันต้องการอธิบายด้วยตัวอย่างคุณจะเข้าใจได้ง่าย

ละเอียด : ตัวอย่างเช่นฉันมี 100 บริการเช่น findbyId, findbyCategry, findbyName ...... เป็นต้น แทนที่จะเป็นบริการมากมายที่ทำไมเราไม่สามารถให้การค้นหา (id, category, name .... เป็นต้น) วิธีนี้ทำให้เราสามารถลดบริการได้ นี่เป็นเพียงตัวอย่าง แต่เป้าหมายคือวิธีเพิ่มประสิทธิภาพจำนวนบริการ

เนื้อหยาบ : ตัวอย่างเช่นฉันมีลูกค้า 100 รายลูกค้าแต่ละรายมีบริการ 100 ชุดของตัวเอง เลยต้องให้บริการรวม 100 * 100 มันเป็นเรื่องยากมาก แต่สิ่งที่ฉันทำคือฉันระบุบริการทั่วไปทั้งหมดที่ใช้กับลูกค้าส่วนใหญ่เป็นชุดบริการเดียวและแยกออกจากกัน ตัวอย่างเช่นใน 100 บริการ 50 บริการเป็นเรื่องปกติ เลยต้องจัดการ 100 * 50 + 50 เท่านั้น


1

ความละเอียดหยาบไม่ได้หมายถึงส่วนประกอบที่ใหญ่กว่าเสมอไปหากคุณใช้ความหมายตามตัวอักษรของคำว่าหยาบก็หมายความว่ารุนแรงหรือไม่เหมาะสม เช่นในการจัดการโครงการซอฟต์แวร์หากคุณแยกระบบขนาดเล็กออกเป็นส่วนประกอบไม่กี่ส่วนซึ่งมีขนาดเท่ากัน แต่มีความซับซ้อนและคุณสมบัติแตกต่างกันไปสิ่งนี้อาจนำไปสู่ความละเอียดที่หยาบกร้านได้ ในทางกลับกันสำหรับการแยกย่อยแบบละเอียดคุณจะแบ่งส่วนประกอบต่างๆตามความสอดคล้องกันของฟังก์ชันการทำงานที่แต่ละองค์ประกอบมีให้


1

เม็ดหยาบและเม็ดละเอียด ทั้งสองโหมดนี้กำหนดวิธีการแชร์คอร์ระหว่างงาน Spark หลายงาน ตามชื่อที่แนะนำโหมดแบบละเอียดมีหน้าที่ในการแบ่งปันคอร์ในระดับที่ละเอียดยิ่งขึ้น Spark เลิกใช้โหมดแบบละเอียดแล้วและจะถูกลบออกในไม่ช้า


1

บริการ Corse-grained ให้ฟังก์ชันการทำงานที่กว้างขึ้นเมื่อเทียบกับบริการแบบละเอียด ขึ้นอยู่กับโดเมนของธุรกิจบริการเดียวสามารถสร้างขึ้นเพื่อให้บริการหน่วยธุรกิจเดียวหรือสามารถสร้างบริการแบบละเอียดเฉพาะหลายอย่างได้หากหน่วยย่อยส่วนใหญ่ไม่ขึ้นอยู่กับกันและกัน บริการที่มีเนื้อหยาบอาจทำได้ยากขึ้นอาจปรับให้เข้ากับการเปลี่ยนแปลงได้น้อยลงเนื่องจากขนาดของบริการในขณะที่บริการแบบละเอียดอาจทำให้เกิดความซับซ้อนเพิ่มเติมในการจัดการบริการที่หลากหลาย


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