Nếu chúng ta trừu tượng hóa từ các ngôn ngữ, khung cụ thể và các diễn giải riêng của chúng, thì hệ thống phân cấp độ chi tiết của phần mềm trừu tượng là như sau:
Product - application, library, service
Module - GUI, core logic, data, etc...
Component - purpose specific collection of objects
Object - collection of primitives
Primitive - numbers, functions, etc...
Đơn giản và đơn giản, Sản phẩm là tập hợp các mô đun chức năng được kết nối.
Đúng như tên gọi, động lực của Module là tính mô đun. Trái với những gì nhiều người tuyên bố, nó không thực sự ngụ ý sử dụng lại mã. Có nhiều mô-đun không thực sự có thể tái sử dụng và không phù hợp với bất kỳ mô-đun nào chúng không được thiết kế.
Điều quan trọng là phải tách các lớp phần mềm khác nhau, giúp phần mềm dễ thực hiện và bảo trì hơn, và nếu cần phải thực hiện lại một cái gì đó như mặt trước cho khung GUI khác, mô đun cho phép điều đó xảy ra một cách dễ dàng và an toàn, không bị phá vỡ mã khắp nơi.
Một mô-đun đóng gói một tập hợp các thành phần mà tất cả phục vụ một mục đích chung như được xác định bởi các yêu cầu mô-đun. Một mô-đun nên khép kín và hoàn chỉnh, và mặc dù không thực sự có thể sử dụng được, nhưng nó có thể hoạt động cùng với bất kỳ triển khai tuân thủ nào.
Về độ chi tiết, Thành phần nằm giữa Mô-đun và Đối tượng. Mục đích của một thành phần là tập hợp một tập hợp các đối tượng có mục đích chung để tạo thành một đơn vị mục đích cụ thể.
Như tên của nó, không giống như Mô-đun, Thành phần không "khép kín", nó là một phần của tổng thể chức năng lớn hơn.
Đối tượng là các khối xây dựng nhỏ hơn của các thành phần. Các đối tượng là các bộ sưu tập của người nguyên thủy và ghép chúng lại với nhau để phục vụ mức độ thấp hơn, phổ quát hơn trong khi vẫn có mục đích cụ thể.
Nguyên thủy là mức độ chi tiết phát triển phần mềm nhỏ nhất, đơn giản nhất và thấp nhất. Về cơ bản, nó chỉ là số nguyên và số thực và hàm / toán tử, mặc dù hầu hết các ngôn ngữ đều có thêm "công dân hạng nhất".
Có rất ít bạn có thể làm với người nguyên thủy, và đồng thời, nó ở mức độ thấp đến mức bạn có thể thực hiện mọi thứ thực tế với nó. Nó chỉ là rất, rất dài dòng, cực kỳ phức tạp và vô cùng tẻ nhạt để hoàn thành trong khi trực tiếp làm việc với người nguyên thủy.
- Điểm của tất cả những điều này là gì?
Như đã đề cập ở trên, làm việc trực tiếp với người nguyên thủy là một ý tưởng cực kỳ tồi tệ. Không chỉ bởi vì nó vô cùng phức tạp, chậm chạp và tẻ nhạt để phát triển phần mềm hiện đại, mà nó còn cực kỳ gây khó chịu và cản trở cho việc kiểm tra và bảo trì.
Có tất cả các phần khái niệm được kết hợp vào phát triển phần mềm làm cho nó dễ dàng hơn, nhanh hơn, đơn giản hơn và an toàn hơn. Bạn không tạo ra một ngôi nhà từ các nguyên tử, bất kể các nguyên tử linh hoạt và phổ quát như thế nào. Đó sẽ là một bài tập trong vô ích. Nguyên tử của bạn là nguyên thủy của bạn, đất sét là đối tượng của bạn, gạch là thành phần của bạn, tường, sàn và mái nhà là các mô-đun của bạn, được lắp ráp với nhau, chúng biểu hiện sản phẩm cuối cùng.
Con người không thực sự phát minh ra bất cứ điều gì, chúng ta chỉ khám phá những thứ đã có trong vũ trụ, sau đó sao chép và áp dụng chúng vào cuộc sống của chúng ta. Hệ thống phân cấp độ hạt giống nhau là bản chất đối với vũ trụ, từ các nguyên tử và thậm chí bên dưới, đến các phân tử hữu cơ, protein, mô, cơ quan, sinh vật và ở trên, thực tế tuân theo cùng một nguyên tắc - kết hợp những thứ nhỏ bé, đơn giản, hạn chế và có mục đích lớn hơn, phức tạp hơn, nhiều chức năng hơn và những điều cụ thể hơn mục đích.
Về mặt kỹ thuật, tất cả chúng đều là "đối tượng", chúng đều là "thành phần" của phát triển phần mềm, chúng đều là "mô-đun" đủ để có thể khớp với nhau, chúng đều là "sản phẩm" theo nghĩa chúng được sản xuất, v.v. ..
Đây không phải là về thuật ngữ hoặc danh pháp, mà là về cách nhân rộng mọi thứ lên và xuống ảnh hưởng đến các khía cạnh khác nhau của sự sáng tạo và năng suất. Và về tầm quan trọng của việc không chỉ sử dụng tất cả các cấp độ khác nhau mà còn về tầm quan trọng của việc không cố gắng hoàn thành mục tiêu ở cấp độ sai, điều này chỉ có thể phản tác dụng.