- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Trong lưu ý trước, chúng tôi đã giới thiệu mẫu phương thức xuất xưởng. Sơ đồ lớp của ví dụ như sau:
Hãy xem xét một tình huống: Bây giờ bạn cần khởi tạo động các đối tượng dựa trên tài nguyên bên ngoài trong khi chương trình đang chạy. Điều đó có nghĩa là chúng ta không thể biết loại đối tượng sẽ được khởi tạo tại thời điểm biên dịch. Vì vậy, cần phải đưa ra phán quyết trong quá trình khởi tạo.
Ví dụ: trong ví dụ của tôi, để khởi tạo một đối tượng camera dựa trên một camera được kết nối với máy chủ, thì khi máy khách (bên sử dụng phương thức gốc để tạo phiên bản) sử dụng mẫu phương thức gốc để tạo đối tượng, mã có thể trông như thế này:
// Kích thước mảng được xác định trong thời gian chạy và không thể thay đổi sau khi xác định auto camera_devices_ = std::make_unique<>[]>(online_camera_num_); for(int i = 0; i < onlined_Camera_num_; ++ i) nhà máy { std::shared_ptr; camera_name[i]) //Phần tử trong camera_name[i] là tên nhà cung cấp tương ứng với camera được kết nối thu được trước Factory = std::make_shared(); ) nhà máy = std::make_shared(); else if("Huaray" == camera_name[i]) nhà máy = std::make_shared(); camera_devices_[i] = Factory->CreateCamera();
Mặc dù mẫu phương thức nhà máy tuân theo nguyên tắc mở và đóng, tức là khi có loại mới, không cần sửa đổi mã hiện có, chỉ cần thêm một lớp sản phẩm mới và lớp nhà máy tương ứng. Nhưng đối với máy khách, khi số lượng loại cần khởi tạo tăng lên, nếu cần phải thêm một loại mới để thích ứng, điều này khiến mã máy khách trở nên dài dòng và khó bảo trì.
Để giải quyết vấn đề trên, chúng ta có thể triển khai một sổ đăng ký kiểu để cho phép tạo các đối tượng động. Cách tiếp cận này cho phép khởi tạo các đối tượng một cách linh hoạt dựa trên tên chuỗi bằng cách ánh xạ các từ khóa tới các con trỏ hàm tạo.
#ifndef Reflection_H #define Reflection_H #include
Trong một nhà máy sản xuất máy ảnh cụ thể, chúng ta có thể sử dụng ReflectRegister để đăng ký lớp này (lấy máy ảnh Basler làm ví dụ, các loại còn lại tương tự):
lớp BaslerCameraDeviceFactory : public CameraDeviceFactory { public: std::shared_ptr CreateCameraDevice() ghi đè { return std::make_shared() } };
Được rồi, bây giờ nhìn lại mã của khách hàng để tạo đối tượng bằng cách sử dụng mẫu phương thức xuất xưởng, nó có thể được đơn giản hóa thành:
// Kích thước mảng được xác định trong thời gian chạy và không thể thay đổi sau khi xác định auto camera_devices_ = std::make_unique<>[]>(online_camera_num_); for(int i = 0; i < onlined_Camera_num_; ++ i) { auto p_factory = Object::CreateObject(Camera_name[i]);//Phần tử trong camera_name[i] là tên nhà cung cấp tương ứng với camera được kết nối thu được trước nếu (!p_factory) tiếp tục; >CreateCameraDevice(); xóa p_factory }
Cuối cùng, bài viết này về Design Pattern Learning (2) Factory Pattern - Factory Method Pattern + Đăng ký kết thúc tại đây Nếu bạn muốn biết thêm về Design Pattern Learning (2) Factory Pattern - Factory Method Pattern + Đăng ký nội dung của bảng. , vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
đóng cửa câu hỏi này cần tập trung hơn. Đã đóng 4 cái này chưa? before. Cải thiện câu hỏi này
.NET Framework: 4.5.1 của mình trong VS, nó sẽ tải và chạy tốt.
Tôi thường gặp câu hỏi này, rất giống với Thiết kế URL RESTful phân cấp Giải thích sử dụng dịch vụ chỉ cung cấp cho người dùng tải lên tài liệu lên POST, GET/tài khoản PUT, DELETE/a
Trong ứng dụng Rails, tôi sử dụng thiết kế để quản lý người dùng của mình, liên kết tôi sử dụng để hủy bỏ Links của tôi là :delete, :clas
Tôi đã bị kẹt hơn 24 giờ khi cố gắng thực hiện các giải pháp khác được đăng ở đây nhưng tôi không thể làm cho nó đã hoạt động. Tôi mới làm quen với Rails và cần trợ giúp! động để tôi có thể thay đổi người dùng một cách đơn giản
Devise sẽ không hết thời gian chờ cho người dùng nếu: người dùng đăng nhập, đóng tab và sau đó truy cập URL lại trong thời gian chờ + X phút. new/nhấp. điều này có ý nghĩa
Tôi muốn sử dụng một thanh trượt như thế này. được cung cấp cho it. này.
Nếu tôi sử dụng điều này trong tất cả các phương thức, tôi sẽ chỉ có 5 thứ khác nhau trong đối tượng yêu cầu dịch nhiệm vụ của mình vì tôi sử dụng cùng một đầu vào cho hầu hết tất cả các phương thức phản hồi. will only one dict
Tôi đang cố gắng lập mô hình đính kèm tệp cho các thực thể trong REST. đính kèm theo. file file...).
Tôi có bảng sau: Blogs { BlogName } BlogPosts { BlogName, PostTitle } Bài đăng trên blog mô hình cả một thực thể và một mối quan hệ, không hợp lệ theo 6nf (theo khai thông báo thứ ba).
Nếu lớp A có tương tác duy nhất với mỗi lớp B, C và D thì mã cho tương tác là A hay B, C và D? Ví dụ: nhấp chuột EMP
Theo wiki này, bạn cần bao gồm những điều sau đây trong OmniauthCallbacksController: Remember_me(user)
Vấn đề về thiết kế: Sử dụng các thành phần không theo luồng toàn bộ (bộ sưu tập, API,...) trong/với đa thành phần luồng... Ví dụ: Thành phần 1: Máy chủ đa luồng gửi tin nhắn đến tin nhắn xử lý... Thành phần 2: tin nhắn xử lý tin nhắn không toàn theo luồng
Chúng tôi hiện đang thiết kế một ứng dụng RESTful. Tôi có câu hỏi sau đây liên quan đến công việc thiết kế/ập mô hình ứng dụng dữ liệu bằng XML Các cách để mô hình hóa. Dữ liệu trong XML là gì? Bắt đầu lại từ đầu
Tôi đang thiết kế XSD mới để lấy thông tin từ các doanh nghiệp hoạt động. cung cấp giá trị cho ít nhất một loại điểm. Tôi có những điều sau đây:
Tốt nhất là thiết kế API hỗ trợ nhiều phiên bản. bất kỳ lược đồ nào tham khảo bản đồ, hướng dẫn nào cũng sẽ rất hữu ích.
đóng cửa. Câu hỏi này dựa trên ý kiến. câu hỏi này có tốt không? Đã đóng cửa 4 năm trước.
Tôi muốn tạo một trang web bằng php hoạt động giống như https://www.bitcoins.lc/. cùng bố trí trên mỗi trang nhưng nội dung thay đổi khi bạn thay đổi liên kết/trang
Tôi có câu hỏi về cách viết Swing UI. đầu tiên tôi có ba nút (Mới, Tùy chọn, Thoát). trong nội dung sang khung khác.
Docker thuộc sở hữu của một ứng dụng sang Kubernetes. Những người thứ hai như thiết kế Pod, nhà phân phối, phát triển khai. một nhóm có một vùng chứa ứng dụng và duy nhất web trong đó, nhưng
Tôi là một lập trình viên xuất sắc, rất xuất sắc!