ในจักรวาลที่กว้างขวางของการพัฒนาโปรแกรม การจัดระเบียบและการจัดการของโค้ดคล้ายกับการจัดระเบียบของกาแล็กซี่ โดยตรงส่งผลต่อความมั่นคงและความสามารถในการบํารุงรักษาของโครงการลองจินตนาการดูว่า ถ้าตัวแปรและฟังก์ชันทั้งหมดถูกเปิดเผย เหมือนกล่องโปร่งที่เปิดเผยการแก้ไขในการสร้างโปรแกรมที่แข็งแกร่งและสามารถบํารุงรักษาได้ อยู่ที่แนวคิดพื้นฐานของการปิด
การคัดกรอง: หินมุมของการเขียนโปรแกรมแบบเป้าหมาย
As one of the three pillars of Object-Oriented Programming (OOP)—alongside inheritance and polymorphism—encapsulation binds data (attributes) and data-manipulating behaviors (methods) into cohesive units called objectsการผสมผสานนี้ไปเหนือกว่าการผสมผสานทางกายภาพ โดยเน้นการคุ้มครองภาวะภายในและการปฏิสัมพันธ์ภายนอกที่ควบคุมได้
การคัดกรองทํางานผ่านกลไกหลัก 3 อย่าง
-
การซ่อนข้อมูล:หลักการหลักที่สมาชิกข้อมูลของวัตถุ (attributes) โดยทั่วไปถูกประกาศเป็นส่วนตัว โดยจํากัดการเข้าถึงขอบเขตภายในของวัตถุรหัสภายนอกต้องใช้อินเตอร์เฟซสาธารณะ (วิธี) สําหรับการปฏิบัติงานโดยตรง.
-
อินเตอร์เฟซสาธารณะ:วิธีการที่เปิดเผยฟังก์ชันของวัตถุต่อโลกภายนอก. เหล่านี้กําหนดการปฏิบัติการที่อนุญาตและโปรโตคอลการปฏิสัมพันธ์, ทําหน้าที่เป็นหน้าต่างที่ควบคุมสู่ภาวะของวัตถุ.
-
การควบคุมการเข้าถึง:เครื่องปรับเปลี่ยน (ส่วนตัว, ป้องกัน, ประชาชน) กําหนดความเห็นของสมาชิกอย่างแม่นยํา โดยซ่อนรายละเอียดการนําไปใช้งานในขณะที่เปิดเผยฟังก์ชันสําคัญเพื่อลดความซับซ้อนและการเชื่อมโยง
ความ คุ้มค่า ของ การ บังคับ: วิศวกรรม ระบบ ยืดหยุ่น
มากกว่าเทคนิคการเขียนโปรแกรม การคล้องตัวแทนของปรัชญาการออกแบบ
-
ความสามารถในการบํารุงรักษาที่ดีขึ้นการดําเนินงานที่ซ่อนอยู่ทําให้มีการปรับปรุงภายในโดยไม่ส่งผลกระทบต่อโค้ดภายนอก ทําให้ลดต้นทุนการบํารุงรักษาอย่างสําคัญ
-
การปรับปรุงความปลอดภัยการซ่อนข้อมูลป้องกันการปรับเปลี่ยนสภาวะที่ไม่อนุมัติ โดยรับประกันความสมบูรณ์แบบผ่านการควบคุมอินเตอร์เฟซสาธารณะ
-
การลดการเชื่อม:ข้อมูลและพฤติกรรมที่รวมกันสร้างโมดูลอิสระ ลดความพึ่งพาระหว่างวัตถุ
-
การเพิ่มการใช้ใหม่อุปกรณ์ที่ครอบคลุมตัวเองทํางานเป็นองค์ประกอบที่สามารถพกพาได้ ผ่านโปรแกรมต่าง ๆ
การดําเนินงาน: แนวทางเฉพาะภาษา
ภาษาเขียนโปรแกรมนําการคัดกรองไปใช้ในแบบที่แตกต่างกันโดยยังคงรักษาหลักการหลัก ๆ ใน Java:
-
การปรับเปลี่ยนการเข้า:เอกชนสําหรับสมาชิกข้อมูล และสาธารณะสําหรับวิธี
-
วิธีการรับ/วาง:จุดการเข้าถึงที่ควบคุมสําหรับข้อมูลส่วนตัว ทําให้สมองการยืนยันในระหว่างการอ่าน/เขียน
การศึกษากรณี: การใช้งานด้านธนาคาร
พิจารณาประเภท BankAccount ที่มีข้อมูลสถิติส่วนตัวและข้อมูลผู้ถือบัญชี พร้อมวิธีฝาก/ถอนสาธารณะการเปิดเผยเงินสาธารณะจะทําให้มีการปรับปรุงโดยตรงที่ไม่ปลอดภัยการปิดตัวสามารถตรวจสอบการยืนยัน (เช่น การป้องกันการลดเงิน) ผ่านการเข้าถึงวิธีการควบคุม
ข้อ พิจารณา ใน การ ออกแบบ: หลีกเลี่ยง การ ใส่ กล่อง ใส่ กล่อง มากเกินไป
ขณะที่เป็นประโยชน์ การปิดตัวเกินขั้น นํามาซึ่งความซับซ้อนและความแข็งแรง
-
ความละเอียดของข้อมูล:การตัดสินใจทางกลยุทธ์เกี่ยวกับสิ่งที่ต้องซ่อน หรือเปิดเผย
-
การออกแบบอินเตอร์เฟซ:อินเตอร์เฟซสาธารณะที่ชัดเจนและขั้นต่ํา ที่สะท้อนแนวคิดที่ไม่ชัดเจนแทนการนําไปใช้
-
กลยุทธ์การเข้าถึง:การเลือกเครื่องปรับที่รอบคอบ เพื่อปรับปรุงความเห็นได้ดีที่สุด
การปิดเครือข่าย: โปรต็อกอล Layering
การคัดกรองขยายไปนอกจาก OOP ไปยังการสื่อสารในเครือข่ายที่ข้อมูลผ่านการห่อชั้นสําหรับการถ่ายทอด แต่ละชั้นสตั๊กโปรโตคอลเพิ่มหัวข้อเพื่อสร้างสรรพ์สตั๊กข้อมูลโปรโตคอล (PDU)สะท้อนการแยกความสนใจของ OOP.
ชั้นแบบ TCP/IP
-
ชั้นการใช้งาน:HTTP, FTP, SMTP อินเตอร์เฟซ
-
ชั้นขนส่ง:TCP/UDP สําหรับการส่งที่น่าเชื่อถือ
-
ชั้นเครือข่าย:IP Routing
-
ชั้นลิงค์:การถ่ายทอดทางกายภาพ Ethernet
แนวทางชั้นนี้นําเสนอรูปแบบ, ความอิสระของโปรโตคอล, ความสามารถในการทํางานร่วมกัน, และความยืดหยุ่น
ตัวอย่างการขอ HTTP
คําขอ HTTP ของบราว์เซอร์ผ่านการคัดกรอง 4 ขั้นตอน:
- ชั้นแอปพลิเคชั่นสร้างหัวหน้า HTTP
- ชั้นขนส่งเพิ่มส่วน TCP
- ชั้นเครือข่ายใช้ข้อมูล IP routing
- ลิงค์เฟรมชั้นด้วยเฮดเตอร์อีเทอร์เน็ต
การประมวลผลกลับเกิดขึ้นที่เซอร์เวอร์ปลายทาง แสดงถึงลักษณะสองทิศของการปิด
ความท้าทายในการปรับปรุงผลงาน
หัวข้อโปรโตคอลนํามาใช้จ่ายส่วนกลางในการส่งสัญญาณ ซึ่งต้องการการทุ่มเทในการออกแบบ
- เทคนิคการบดหัวข้อ
- การปรับปรุงโปรโตคอล
- การเร่งเครื่องจักร
สรุป: แนวทางการปิดตัว
จากวัตถุโปรแกรมไปยังแพ็คเก็ตเครือข่าย การคัดกรองยังคงเป็นปรัชญาการออกแบบพื้นฐานวิศวกรสร้างระบบที่สมดุลการจัดการความซับซ้อนกับความยืดหยุ่นในการปฏิบัติงาน.