Table of Contents
Phần mềm kỹ thuật phải dự đoán thay đổi -- phần cứng mới, tiêu chuẩn mới, cách thức mô phỏng, và sự chuyển đổi các yêu cầu hợp nhất. Các mẫu tính trừu tượng cung cấp một cách cấu trúc để xây dựng những hệ thống như thế, cho phép mở rộng mô- tơ mà không cần phải viết lại logic cốt lõi. Bài này khám phá các mẫu dưới độ sâu, ứng dụng của nó thông qua các miền kỹ thuật, và các chiến lược có thể kiểm soát cấu trúc của bạn trong tương lai.
Gương mẫu trừu tượng là gì?
Mẫu hình trừu tượng là mẫu thiết kế kiểu thiết kế kiểu máy tính đầu tiên được liệt kê trong của 4 ) sách của 4 [FLT:] của các đối tượng liên quan hoặc phụ thuộc không xác định hạng cụ thể. Điều này có nghĩa là một khách hàng làm việc với giao diện trừu tượng, không thực hiện cụ thể, vì vậy hệ thống có thể được mở rộng bằng cách sửa đổi mã mới.
Trong bối cảnh kỹ thuật, “một gia đình có thể là tất cả các thành phần cần thiết cho một nền tảng phần cứng (v. d., bộ cảm biến, bộ điều khiển, giao thức giao tiếp) hoặc tất cả các đồ vật cần thiết cho một môi trường mô phỏng cụ thể (v. d., bộ tạo ra bộ giải mã, hậu xử lý).
Các phần tử phụ thuộc
- AbstractFacry ) – phát hành một giao diện để tạo ra mỗi loại đối tượng sản phẩm.
- Conccry ) — thực hiện các phương pháp sáng tạo để sản xuất các sản phẩm cụ thể thuộc về một gia đình riêng biệt.
- AbstractProf ) – phát hành giao diện cho một kiểu sản phẩm (v., , ).
- Conctrift – định nghĩa một đối tượng sản phẩm cần được tạo ra bởi nhà máy bê tông tương ứng; thực hiện giao diện « T dòng bắt cóc trừu tượng ».
- CAent – chỉ sử dụng giao diện trừu tượng và trừu tượng Proctcing, còn lại độc lập với thực hiện bê tông.
Việc tách rời này là những gì làm cho các mô hình mạnh mẽ cho mở rộng mô- đun. Thêm một thiết lập phần cứng mới có nghĩa là viết một thiết lập ConcleFacry mới và hỗ trợ nó concippingProcing - mã khách hàng không thay đổi.
Tại sao phần mềm kỹ thuật cần có mẫu này
Phần mềm kỹ thuật thường trải rộng nhiều miền, mỗi nơi có những hạn chế đặc biệt và sự thay đổi nhanh chóng về công nghệ.
Độ nhỏ
Thành phần có thể được phát triển, kiểm tra và duy trì độc lập. Chẳng hạn, một ứng dụng phân tích yếu tố hữu hạn (FEA) có thể có các gia đình riêng biệt cho các loại nguyên tố khác nhau (D, 3D, vỏ), hoặc các hậu phương giải quyết khác nhau (chỉ là gián tiếp, lặp lại). Mỗi nhà máy có thể tự sắp xếp lại các nguyên tố logic riêng, vì thế việc sửa đổi một gia đình giải quyết không ảnh hưởng đến người khác.
Khả năng cấu hình
Khi sản phẩm mới nổi lên - phát hiện, một loại cảm biến LiDAR mới cho phần mềm phương tiện tự động - mô hình cho phép bạn thêm một tính năng đặc biệt mới mà không chạm vào các nhà máy hoặc mã khách hàng. Tính năng này đặc biệt có giá trị khi phần mềm kỹ thuật phải hỗ trợ một hệ sinh thái mở rộng của các nhà cung cấp phần cứng và tiêu chuẩn 2.
Khả năng bay qua miền
Các ngành kỹ thuật khác nhau rất nhiều: mô phỏng cơ học, phân tích cấu trúc điện, và nhiều thứ khác. Một nhà máy trừu tượng có thể được thiết kế để tạo ra các vật cụ thể về miền trong khi giữ cho logic cơ bản là chung chung chung. Chẳng hạn, một “cơ chế điều khiển tổng hợp có thể hoạt động với bất kỳ động cơ mô phỏng nào nếu mỗi động cơ cung cấp cho riêng một nhà máy để xây dựng thành phần mô phỏng.
Giữ được tính bền vững qua sự cô đơn
Thay đổi trong một nhà máy bị cô lập. Cập nhật một trình điều khiển phần cứng hoặc trao đổi thư viện phần thứ ba chỉ yêu cầu thay đổi trong nhà máy bê tông tương ứng. Tính năng này giảm rủi ro hồi quy và đơn giản hóa khả năng quản lý phiên bản.
Làm gương mẫu: Gương mẫu thực tế
Hãy xem xét một ứng dụng được dùng để thiết kế bằng máy tính (CAD) cần hỗ trợ nhiều hạt nhân hình học (Paracition, ACIS, Open CASCAD). Mỗi hạt nhân có biểu hiện và hoạt động riêng của nó cho đường cong, bề mặt, rắn và cạnh. Không có mẫu, toàn bộ mã sẽ bị rối loạn với logic điều kiện:
// Client code full of if-else chains
if (kernel == "Parasolid") {
Curve c = new ParasolidCurve(...);
} else if (kernel == "ACIS") {
Curve c = new AciSCurve(...);
}
Với các mẫu nhà máy trừu tượng, khách hàng không bao giờ biết hạt nhân bê tông:
// Abstract factory interface
public interface GeometryFactory {
Curve createCurve(Point p1, Point p2);
Surface createSurface(...);
Solid createSolid(...);
}
// Concrete factories
public class ParasolidFactory implements GeometryFactory { ... }
public class AciSFactory implements GeometryFactory { ... }
// Client
GeometryFactory factory = getFactory(); // selected via config or runtime
Curve c = factory.createCurve(p1, p2);
Solid s = factory.createSolid(face);
Ứng dụng khách bị tách hoàn toàn ra khỏi hạt nhân. Thêm hạt nhân thứ ba (v. g., Open CASCAD) chỉ yêu cầu thực hiện giao diện và thiết lập các sản phẩm bê tông.
Trong đó có nhiều “giáo sư hoặc người thực hiện các quy trình: người lái cảm biến, người giải mã, động cơ hình ảnh hoặc cơ sở dữ liệu.
Mở rộng Chân trời: Trường hợp dùng cấp cao
Ngoài việc chọn trình điều khiển đơn giản, mô hình nhà máy trừu tượng cho phép cấu trúc mô-đun phức tạp:
Kiến trúc bổ sung
Hãy để các đội bên ngoài phát triển các mô-đun phân tích thứ ba. mỗi plugin cung cấp riêng của mình nhà máy bê tông, được đăng ký vào thời điểm chạy. máy chủ phát hiện và kêu gọi nhà máy thêm các khả năng mới - ví dụ, các mô hình hoặc phân tích mới - mà không cần phải tái sử dụng các lõi.
Tăng cường đa kênh
Phần mềm kỹ thuật thường chạy trên Windows, Linux và các hệ thống nhúng. Các nhà máy trừu tượng có thể kết hợp nền tảng cụ thể của việc truy cập hệ thống tập tin, chỉ các thành phần UI. triển khai trên một nền tảng mới có nghĩa là thực hiện một gia đình mới của các nhà máy bê tông.
Môi trường mô phỏng với mức độ đa dạng
Trong động lực lỏng hoặc mô phỏng điện từ, người dùng có thể chuyển đổi giữa những người giải quyết nhanh và những người có độ phân giải cao. Một nhà máy trừu tượng có thể tạo ra các đối tượng giải quyết thích hợp, điều kiện ranh giới, và những người xử lý đường biên giới cho mỗi mức độ trung thành, đảm bảo các giao diện nhất định trên mọi cấp độ.
Sự phát triển của thiên thể trong tương lai
Thiết kế với các mô hình nhà máy trừu tượng chuẩn bị phần mềm kỹ thuật cho các công nghệ mới nổi và thay đổi các yêu cầu kinh doanh.
Hợp nhất với tính toán cạnh và IoT
Khi thiết bị kỹ thuật trở nên thông minh hơn, phần mềm nhúng của chúng phải liên lạc với dịch vụ đám mây, bộ điều khiển cục bộ và các thiết bị khác. Một nhà máy trừu tượng có thể tạo ra những chồng thông tin khác nhau (MQTT, CoAP, HTTP/2) và định dạng dữ liệu (Protbof, JSON, CBOR). Việc thêm một giao thức mới cũng đơn giản như tạo một gia đình mới.
Hỗ trợ học AI và máy
Phân tích kỹ thuật ngày càng tăng những yếu tố gây ảnh hưởng đến mô hình ML để thay thế, tối ưu hóa, hoặc phát hiện bất thường. Một nhà máy trừu tượng có thể tóm tắt việc tạo ra những người tải mô hình, suy luận động cơ và đào tạo dữ liệu. Thay đổi khuôn khổ ML (TensorFlow, PyTorch, ORX) thành một vấn đề của việc thực hiện một nhà máy mới.
Những kiến trúc được ngăn chặn và ngăn chặn bằng mây
Các dịch vụ vi mô được lợi ích từ các nhà máy trừu tượng để thay đổi dịch vụ trên môi trường (đã phát triển, dàn xếp, sản xuất). Mỗi dịch vụ có thể xác định một nhà máy trừu tượng cho việc truy cập cơ sở dữ liệu, xác thực và hàng đợi thông điệp. Điều này cho phép các nhóm phát triển cấu trúc mà không cần phải viết lại logic dịch vụ.
Giảm giá bảo trì Long Lơ
Theo một nghiên cứu của Viện Kỹ Thuật Phần Mềm, việc thay đổi trình độ kiến trúc tốn kém gấp 10–100 lần khi được tạo ra sớm hơn trong vòng đời 3 năm.
Những cạm bẫy tiềm tàng và cách tránh chúng
Nhà máy có thể đưa ra sự phức tạp không cần thiết nếu sử dụng quá mức.
- Quá nhiều lớp — tạo ra các nhà máy cho mỗi biến thể nhỏ dẫn đến những sự phân loại sâu khó gỡ lỗi.
- Những điểm trừu tượng không thể thay đổi ) – nếu giao diện sản phẩm trừu tượng quá hẹp, thêm một biến thể mới có thể cần thiết thay đổi chính nhà máy trừu tượng. Giữ giao diện sản phẩm ổn định và chung.
- Đang thu thập hình ảnh phụ thuộc ) – nhà máy làm việc tốt nhất khi nhà máy bê tông được chọn thông qua cấu hình, không phải mã hóa cứng. Kết hợp mẫu với hộp công cụ DI hoặc dịch vụ để linh hoạt tối đa.
Khi sử dụng một cách khôn ngoan, mẫu hình trừu tượng của nhà máy làm phần mềm thích nghi cần thiết mà không cần phải hy sinh sự rõ ràng.
Kết luận
Việc thiết kế nhà máy trừu tượng là công cụ thiết kế không có thời gian để xây dựng phần mềm kỹ thuật hiện đại có thể phát triển với các công nghệ, tiêu chuẩn và lĩnh vực mới.
Những câu hỏi
- Gamma, E., Helm, R., Johnson, R., &D. &am; Vlissides, J. (1994). [FLT: 0] Mô hình: yếu tố phần mềm có thể phục hồi . Addson-Wesley. liên kết [FLT:] [FLT:]
- Các nhà tổ chức của Công ty Kiến trúc Enterprise .
- ) Giấy trắng ) )