ถ้าเราจะสรุปจากภาษาเฉพาะกรอบงานและการตีความของตัวเองลำดับชั้นของซอฟต์แวร์ที่เป็นนามธรรมมีดังต่อไปนี้:
Product - application, library, service
Module - GUI, core logic, data, etc...
Component - purpose specific collection of objects
Object - collection of primitives
Primitive - numbers, functions, etc...
เรียบง่ายและเรียบง่ายผลิตภัณฑ์เป็นคอลเล็กชันที่ใช้งานได้ของโมดูลการทำงานที่เชื่อมต่อ
ตามที่ชื่อมีความหมายแรงจูงใจของโมดูลนั้นเป็นแบบแยกส่วน ตรงกันข้ามกับข้อเรียกร้องจำนวนมากมันไม่ได้หมายความถึงการนำรหัสมาใช้ซ้ำ มีโมดูลมากมายที่ไม่สามารถนำกลับมาใช้ใหม่ได้จริงและไม่เหมาะกับสิ่งที่พวกเขาไม่ได้ออกแบบมา
สิ่งสำคัญคือการแยกชั้นซอฟต์แวร์ที่แตกต่างกันซึ่งทำให้ซอฟต์แวร์ง่ายต่อการติดตั้งและบำรุงรักษามากขึ้นและหากจำเป็นต้องปรับใช้บางอย่างเช่นส่วนหน้าไปสู่กรอบงาน GUI ที่แตกต่างกัน รหัสทุกสถานที่
โมดูลห่อหุ้มคอลเลกชันของส่วนประกอบซึ่งทั้งหมดมีวัตถุประสงค์ร่วมกันตามที่กำหนดโดยข้อกำหนดของโมดูล โมดูลควรมีในตัวและเสร็จสมบูรณ์และแม้ว่าจะไม่สามารถใช้งานได้ด้วยตัวเอง แต่ก็สามารถทำงานร่วมกับการใช้งานที่สอดคล้องกันได้
ในแง่ของความละเอียดส่วนประกอบจะอยู่ระหว่างโมดูลและวัตถุ วัตถุประสงค์ขององค์ประกอบคือการรวบรวมชุดของวัตถุวัตถุประสงค์ทั่วไปเพื่อสร้างหน่วยเฉพาะวัตถุประสงค์
เนื่องจากชื่อมีความหมายซึ่งแตกต่างจากโมดูลส่วนประกอบจึงไม่ "อยู่ในตัวเอง" จึงเป็นส่วนหนึ่งของทั้งฟังก์ชันที่มีขนาดใหญ่กว่า
วัตถุเป็นหน่วยการสร้างขนาดเล็กของส่วนประกอบ วัตถุคือชุดของวัตถุโบราณและจับคู่กันเพื่อให้บริการในระดับที่ต่ำกว่าเป็นสากลมากขึ้นในขณะที่ยังคงวัตถุประสงค์ที่ค่อนข้างเฉพาะ
Primitives เป็นระดับที่เล็กที่สุดง่ายที่สุดและต่ำสุดของการพัฒนาซอฟต์แวร์อย่างละเอียด มันเป็นเพียงจำนวนเต็มและจำนวนจริงและฟังก์ชั่น / ผู้ประกอบการถึงแม้ว่าภาษาส่วนใหญ่มี "พลเมืองชั้นหนึ่ง" ของตัวเองเพิ่มเติม
มีน้อยมากที่คุณสามารถทำได้ด้วยการดึกดำบรรพ์และในเวลาเดียวกันมันอยู่ในระดับที่ต่ำซึ่งคุณสามารถทำทุกสิ่งได้สำเร็จ มันเป็นเรื่องที่ละเอียดมากซับซ้อนน่าเบื่อและเป็นไปไม่ได้ที่จะทำให้สำเร็จในขณะที่ทำงานกับไพรเมตโดยตรง
- ประเด็นทั้งหมดนี้คืออะไร?
ดังที่ได้กล่าวมาแล้วการทำงานกับคำสั่งเบื้องต้นโดยตรงนั้นเป็นความคิดที่ไม่ดีอย่างยิ่ง ไม่เพียงเพราะมีความซับซ้อนเป็นไปไม่ได้ช้าและน่าเบื่อสำหรับการพัฒนาซอฟต์แวร์ยุคใหม่ แต่ยังมีสิ่งที่น่ารำคาญอย่างมากและเป็นอุปสรรคต่อการทดสอบและบำรุงรักษา
การมีส่วนต่าง ๆ ของแนวคิดเหล่านั้นรวมอยู่ในการพัฒนาซอฟต์แวร์ทำให้ง่ายขึ้นเร็วขึ้นง่ายขึ้นและปลอดภัยขึ้น คุณไม่ได้สร้างบ้านจากอะตอมโดยไม่คำนึงว่าอะตอมที่หลากหลายและสากลเป็นอย่างไร นั่นจะเป็นการออกกำลังกายที่ไร้ประโยชน์ อะตอมของคุณเป็นแบบดั้งเดิมดินเป็นวัตถุของคุณอิฐเป็นส่วนประกอบผนังพื้นและหลังคาเป็นโมดูลของคุณประกอบเข้าด้วยกันซึ่งจะแสดงผลิตภัณฑ์ขั้นสุดท้าย
มนุษย์ไม่ได้คิดค้นสิ่งใดจริง ๆ เราค้นพบสิ่งที่มีอยู่แล้วในจักรวาลแล้วคัดลอกและนำไปใช้กับชีวิตของเรา ลำดับชั้นของเมล็ดเดียวกันมีความสำคัญต่อเอกภพตั้งแต่อะตอมและต่ำกว่าไปจนถึงโมเลกุลอินทรีย์โปรตีนเนื้อเยื่อเนื้อเยื่ออวัยวะอวัยวะสิ่งมีชีวิตและอื่น ๆ ในความเป็นจริงเชื่อฟังหลักการเดียวกัน - การรวมสิ่งเล็ก ๆ น้อย ๆ ที่เรียบง่าย ใหญ่ขึ้นซับซ้อนมากขึ้นทำงานได้มากขึ้นและใช้สิ่งเฉพาะเจาะจงมากขึ้น
ในทางเทคนิคแล้วมันคือ "วัตถุ" ทั้งหมดเป็น "ส่วนประกอบ" ของการพัฒนาซอฟต์แวร์พวกมันทั้งหมดเป็น "แบบแยกส่วน" พอที่จะสามารถรวมเข้าด้วยกันพวกมันเป็น "ผลิตภัณฑ์" ทั้งหมดในแง่ที่ว่าพวกเขาผลิตขึ้นมา ..
นี่ไม่เกี่ยวกับคำศัพท์หรือศัพท์เฉพาะมันเกี่ยวกับการปรับขนาดของสิ่งต่าง ๆ ที่ส่งผลกระทบต่อแง่มุมต่าง ๆ ของความคิดสร้างสรรค์และผลผลิต และเกี่ยวกับความสำคัญของการไม่เพียง แต่ใช้ระดับต่าง ๆ เหล่านั้นทั้งหมด แต่ยังรวมถึงความสำคัญของการไม่พยายามที่จะบรรลุเป้าหมายในระดับที่ไม่ถูกต้องซึ่งสามารถต่อต้านได้