คำจำกัดความ: วัตถุหนึ่งควรรักษาความเข้าใจอย่างน้อยที่สุดของวัตถุอื่น ๆ
ต้นกำเนิดของปัญหา: ความสัมพันธ์ระหว่างชั้นเรียนใกล้เข้ามามากขึ้นและการมีเพศสัมพันธ์จะยิ่งใหญ่ขึ้นเรื่อย ๆ เมื่อชั้นเรียนเปลี่ยนไปหนึ่งผลกระทบที่มากขึ้นในชั้นเรียนอื่น
วิธีแก้ปัญหา: ลดการมีเพศสัมพันธ์ระหว่างคลาสให้มากที่สุด
เนื่องจากเราเข้ามาติดต่อกับการเขียนโปรแกรมเราได้รู้จักหลักการทั่วไปของการออกแบบซอฟต์แวร์การมีเพศสัมพันธ์ต่ำและการทำงานร่วมกันสูง ไม่ว่าจะเป็นวัตถุที่มุ่งเน้นหรือมุ่งเน้นกระบวนการระดับการมีเพศสัมพันธ์ควรต่ำที่สุดเท่าที่จะเป็นไปได้เพื่อปรับปรุงอัตราการใช้รหัสซ้ำ แต่จะตั้งโปรแกรมการมีเพศสัมพันธ์ต่ำได้อย่างไร?
ไม่ว่าตรรกะจะซับซ้อนแค่ไหนสำหรับคลาสที่ขึ้นอยู่กับลองห่อหุ้มตรรกะภายในชั้นเรียนและอย่าเปิดเผยข้อมูลใด ๆ ไปยังภายนอกยกเว้นวิธีการสาธารณะที่ให้ไว้ นอกจากนี้ยังมีคำจำกัดความที่ง่ายกว่า: สื่อสารกับเพื่อนโดยตรงเท่านั้น ก่อนอื่นมาอธิบายว่าเพื่อนโดยตรงคืออะไร แต่ละวัตถุจะถูกรวมกับวัตถุอื่น ๆ สมมติว่ามีความสัมพันธ์ระหว่างกันระหว่างวัตถุทั้งสองนี้ สมมติว่าวัตถุทั้งสองนี้มีความสัมพันธ์กับเพื่อน มีหลายวิธีที่การมีเพศสัมพันธ์เกิดขึ้นเช่นการพึ่งพาการเชื่อมโยงองค์ประกอบการรวม ฯลฯ ในหมู่พวกเขาเราเรียกคลาสที่ปรากฏตัวแปรสมาชิกพารามิเตอร์วิธีการและค่าการส่งคืนวิธีการที่เรียกว่าเพื่อนโดยตรงในขณะที่คลาสที่ปรากฏในตัวแปรท้องถิ่นไม่ใช่เพื่อนโดยตรง กล่าวคือมันเป็นการดีที่สุดที่จะไม่ปรากฏในชั้นเรียนเป็นตัวแปรท้องถิ่น
ตัวอย่างเช่นในโรงเรียนมีครูหลายคนอยู่ในนั้นตามลำดับ มีนักเรียนหลายคนด้านล่างมีหมายเลขในครั้งเดียว ตอนนี้ขอให้พิมพ์รหัสครูและนักเรียนทั้งหมด
ก่อนอื่นละเมิดหลักการของการมีเพศสัมพันธ์ต่ำและการทำงานร่วมกันสูง
รหัสมีดังนี้
แพ็คเกจ test1; นำเข้า java.util.arraylist; นำเข้า java.util.list; ครูชั้นเรียน {privatestring id; publicVoidSetid (string id) {this.id = id;} publicString getid () {return id; StudentManage {PublicList <Tudent> GetAllStudent () {รายการ <student> list = newarrayList <Tudent> (); สำหรับ (int i = 0; i <100; i ++) {นักเรียนนักเรียน = นักเรียนใหม่ () นักเรียน setiD ("นักเรียนหมายเลขนักเรียนคือ"+i); list.add (นักเรียน); {รายการ <Teacher> list = newArrayList <Teacher> (); สำหรับ (inti = 0; i <100; i ++) {ครูครู = ครูใหม่ (); teacher.setId ("หมายเลขครู"+i); list.add (ครู);} รายการกลับ; {system.out.println (s.getId ());} รายการ <Teacher> list2 = this.getAllTeacher (); สำหรับ (ครู t: list2) {system.out.println (t.getId ());}}}}}}} Public ClassClient {PublicStaticVoidMain (String [] args) {TeacherManagetm = newTeacherManage (); tm.printallperson (ใหม่นักศึกษาใหม่ ());}} ปัญหาหลักของการออกแบบนี้จะปรากฏในชั้นเรียนครู ตามกฎหมายการมีเพศสัมพันธ์ต่ำและกฎหมายการทำงานร่วมกันสูงมันสื่อสารกับเพื่อนโดยตรงเท่านั้น ชั้นเรียนนักเรียนไม่ได้เป็นเพื่อนโดยตรงในชั้นเรียนที่จัดการครู การมีเพศสัมพันธ์ที่ไม่ใช่เพื่อนที่ไม่ใช่การกำกับดังกล่าวควรหลีกเลี่ยงในชั้นเรียน
หลังจากการแก้ไขรหัสมีดังนี้:
แพ็คเกจ test2; นำเข้า java.util.arraylist; นำเข้า java.util.list; ครูชั้นเรียน {privatestring id; publicVoidSetid (string id) {this.id = id;} publicString getid () {return id; StudentManage {PublicList <Tudent> GetAllStudent () {รายการ <student> list = newarrayList <Tudent> (); สำหรับ (int i = 0; i <100; i ++) {นักเรียนนักเรียน = นักเรียนใหม่ (); student.setId ("หมายเลขนักเรียนคือ"+i); list.add (นักเรียน); {รายการ <student> list1 = this.getAllstudent (); สำหรับ (นักเรียน s: list1) {system.out.println (s.getid ());}}} ชั้นเรียนครู {publiclist <Teacher> getAllTeacher () {รายการ <Teacher> list = newArrayList Teacher (); Teacher.setId ("หมายเลขครู"+i); list.add (ครู);} รายการคืน;} publicVoidPrintallTeacher () {รายการ <Teacher> list2 = this.getAllTeacher (); สำหรับ (ครู t: list2) {system.out.println {TeacherManagetM = newTeacherManage (); tm.printallTeacher (); studentManagesm = newStudentManage (); sm.printallstudent ();}}}หลังจากการดัดแปลงนักเรียนได้เพิ่มวิธีการใหม่ของ ID นักเรียนและครูสามารถเรียกได้โดยตรง สิ่งนี้หลีกเลี่ยงการมีเพศสัมพันธ์กับนักเรียน ความตั้งใจดั้งเดิมของหลักการของการมีเพศสัมพันธ์ต่ำและการทำงานร่วมกันสูงคือการลดการมีเพศสัมพันธ์ระหว่างชั้นเรียน เนื่องจากแต่ละชั้นเรียนลดการพึ่งพาที่ไม่จำเป็นจึงเป็นไปได้ที่จะลดความสัมพันธ์ที่มีเพศสัมพันธ์ อย่างไรก็ตามทุกอย่างมีระดับ แม้ว่าการสื่อสารกับชั้นเรียนทางอ้อมสามารถหลีกเลี่ยงได้เพื่อที่จะสื่อสารความสัมพันธ์จะเกิดขึ้นอย่างหลีกเลี่ยงไม่ได้ผ่าน "ตัวกลาง" การใช้กฎนี้สามารถบรรลุโครงสร้างที่ชัดเจนการทำงานร่วมกันสูงและการมีเพศสัมพันธ์ต่ำ
การมีเพศสัมพันธ์และการทำงานร่วมกันเป็นมาตรฐานเชิงคุณภาพสองประการสำหรับความเป็นอิสระของโมดูล เมื่อแบ่งระบบซอฟต์แวร์ออกเป็นโมดูลพยายามที่จะบรรลุการทำงานร่วมกันสูงและการมีเพศสัมพันธ์ต่ำให้มากที่สุดเท่าที่จะเป็นไปได้เพื่อปรับปรุงความเป็นอิสระของโมดูลและวางรากฐานสำหรับการออกแบบโครงสร้างซอฟต์แวร์คุณภาพสูง
มีตัวอย่างที่เข้าใจง่าย: โปรแกรมมี 50 ฟังก์ชั่นและโปรแกรมนี้ทำงานได้ดีมาก อย่างไรก็ตามเมื่อคุณแก้ไขหนึ่งในฟังก์ชั่นอีก 49 ฟังก์ชั่นต้องได้รับการแก้ไขซึ่งเป็นผลมาจากการมีเพศสัมพันธ์สูง
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการวิเคราะห์รหัสของรหัสตัวอย่างของการทำงานร่วมกันสูงและกฎหมายการมีเพศสัมพันธ์ต่ำ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!