- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个带有纯虚方法的类 Feature。
class Feature {
công cộng:
virtual ~Feature() {}
virtual const float getValue(const vector& v) const = 0;
};
该类由多个类实现,例如 FeatureA 和 FeatureB。一个单独的类 Computer(简化)使用 getValue 方法进行一些计算。
class Computer {
công cộng:
const float compute(const vector& features, const vector& v) {
float res = 0;
for (int i = 0; i < features.size(); ++i) {
res += features[i]->getValue(v);
}
trả về res;
}
};
现在,我想实现 FeatureC,但我意识到我需要 getValue 方法中的附加信息。 FeatureC 中的方法看起来像
const float getValue(const vector& v, const vector& additionalInfo) const;
我当然可以修改Feature、FeatureA、FeatureB中getValue的签名,将additionalInfo作为参数,同时在compute方法中添加additionalInfo作为参数。但是如果我想实现需要更多附加信息的 FeatureD,我可能不得不稍后再次修改所有这些签名。我想知道是否有更优雅的解决方案,或者是否有一种已知的设计模式可以指出我进一步阅读。
câu trả lời hay nhất
你至少有两个选择:
getValue()
,而是传递一个结构。在此结构中,您今天可以放置 vector ,明天可以放置更多数据。当然,如果您的程序的某些具体运行不需要额外的字段,那么计算它们的需求可能是一种浪费。但是,如果您始终需要计算所有数据(即,如果总是有一个 FeatureC),则不会造成性能损失。getValue()
一个对象的引用,该对象具有获取必要数据的方法。这个对象可以是计算机本身,或者一些更简单的代理。然后 getValue()
实现可以准确地请求他们需要的东西,并且可以延迟计算。在某些情况下,惰性将消除浪费的计算,但这样做的整体结构将由于必须调用(可能是虚拟的)函数来获取各种数据而强加一些小的恒定开销。
关于c++ - 几个类使用不同的 api 实现父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468046/
Tôi đã thiết lập dịch vụ Quản lý API Azure và định cấu hình nó trên một miền tùy chỉnh. Trong phần cấu hình của dịch vụ Quản lý API trong cổng Azure, tôi thiết lập như sau: Vì đây là hệ thống máy khách nên tôi phải che giấu các chi tiết, nhưng đây là những điều cơ bản:
Tôi là một lập trình viên mới đang làm quen với React Native. Gần đây tôi đã bắt đầu tìm hiểu về API tìm nạp và cách thức hoạt động của nó. Vấn đề của tôi là tôi không thể tìm thấy ví dụ về những người sử dụng khóa API để truy cập thông tin trong câu lệnh get của họ (Tôi đang gặp khó khăn trong việc trình bày rõ ràng cách thức
Có rất nhiều thông tin về API là gì, nhưng tôi không thể tìm thấy những gì tôi cần về sự khác biệt giữa API plugin và API thư viện. Dù sao thì tôi cũng không hiểu. Trong cuốn sách API tài liệu, tôi đọc: API plugin và AP thư viện
đóng cửa. Câu hỏi này không đáp ứng các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện vấn đề này? Câu hỏi được cập nhật để làm cho câu hỏi trở thành chủ đề cho Stack Overflow. Đóng cửa 7 năm trước Cải thiện điều này
Tôi đang cố gắng tìm ra cách tốt nhất để thiết kế kịch bản sau. Giả sử tôi đã triển khai API REST để nhận sách từ các nhà cung cấp khác nhau và trả lại cho khách hàng của riêng tôi. Mỗi nhà cung cấp cung cấp một API riêng để cung cấp sách cho người tiêu dùng.
Xin ai đó giải thích cho tôi cách sử dụng khóa api và công dụng của nó. Tôi đã tìm kiếm rất nhiều về vấn đề này nhưng có những câu trả lời khác nhau và mâu thuẫn. Một số người nói rằng khóa API là bí mật và nó không bao giờ được gửi như một phần của quá trình liên lạc, trong khi những người khác gửi nó cho khách hàng
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Cập nhật câu hỏi để việc chỉnh sửa bài đăng này có thể trả lời nó bằng các sự kiện và trích dẫn. Đã đóng 4 năm trước. Cải thiện điều này
Ai đó có thể cho tôi biết tại sao Trình quản lý API WSo2 không xác thực không? Tôi đã thiết lập hai phiên bản Trình quản lý API WSo2 1.8.0 và tạo một api. Nó hoạt động tốt như một api nguyên mẫu.
Tôi tình cờ gặp Fluent API trong quá trình học DSL. Tôi đã tìm kiếm rất nhiều về API thông thạo... Kết luận cơ bản mà tôi có thể rút ra là API thông thạo sử dụng chuỗi phương thức để làm cho mã thông thạo. Nhưng tôi không thể hiểu được - trong các ngôn ngữ hướng đối tượng chúng ta
Về cơ bản, điều tôi quan tâm là thiết lập Trình quản lý API WSO2 ở nhiều khu vực, chẳng hạn như Châu Á, Hoa Kỳ và Châu Âu. Một số API sẽ được triển khai tại các trung tâm dữ liệu ở từng khu vực, trong khi các API khác sẽ chỉ được triển khai ở các khu vực cụ thể. Lý tưởng nhất, điều tôi muốn là một
Tôi đang xây dựng API của riêng mình để: 1) Ứng dụng Android 2) Ứng dụng dành cho máy tính để bàn Một trong các url của tôi là: http://api.chatapp.info/order_api/files/getbeers.php của tôi
Tôi cần hiển thị số liệu phân tích cho trang web của mình cho tất cả người dùng, nhưng khi sử dụng OAuth, nó sẽ hiển thị số liệu phân tích cho trang web được định cấu hình cho người dùng đã đăng nhập. Làm cách nào tôi có thể triển khai trang tổng quan bằng API nhúng nhưng chỉ hiển thị số liệu phân tích trang web của mình? Khả năng tốt nhất tôi có thể nghĩ đến là sử dụng khóa API thay vì khách
Tôi đang nghiên cứu cách các công ty lớn quản lý API công khai của họ. Tôi đang nghĩ đến các công ty có API trưởng thành, chẳng hạn như Google, Facebook, Twitter và Amazon. Những công ty này tiết lộ cho công chúng nhiều thông tin A khác nhau.
Sau đây là phương pháp được ưu tiên trong ngành khi xác định API mà máy khách có thể truy cập: a) Xác định một tập hợp rõ ràng các phương thức API, mỗi phương thức có mục đích rất hẹp và cụ thể, ví dụ: SetUserName SetUserAge Se
Điều này xảy ra cả cục bộ trên máy xứng đáng và khi được triển khai. Tôi đã có thể sử dụng thành công API Explorer thông qua hướng dẫn sổ lưu bút, nhưng bây giờ tôi đã tạo dự án của riêng mình và cố gắng truy cập API đầu tiên mà tôi đã viết, nó không bao giờ xuất hiện. Dòng chữ "Đang tải" màu vàng bên cạnh thanh tìm kiếm
Tôi đang cố gắng lấy kinh độ và vĩ độ bằng địa chỉ IP của mình bằng cách sử dụng http://ip-api.com/ api. Khi tôi truy cập http://ip-api.com/json từ trình duyệt của mình hoặc sử dụng Curl, nó sẽ trả về ở định dạng json
Ví dụ kinh điển ở đây là API của Twitter. Về mặt khái niệm, tôi hiểu cách thức hoạt động của API REST, về cơ bản nó chỉ truy vấn máy chủ của họ về yêu cầu cụ thể của bạn và bạn nhận được phản hồi ở đó (JSON, XML, v.v.), điều này thật tuyệt. Nhưng
Tiêu đề hay nhất mà tôi có thể nghĩ ra, nhưng để làm rõ, tình huống là thế này: Tôi đang phát triển một dịch vụ giống như URL ngắn cho phép người dùng "đăng nhập" bằng tài khoản Twitter của họ và đăng nội dung. Dịch vụ này hiện có thể được đưa vào Tweetdeck
Tôi đang thiết kế một sơ đồ API để quản lý các nhận xét và chủ đề thảo luận. Tôi muốn có một dấu chấm /discussions/:discussionId và khi bạn NHẬN nó sẽ trả về một tập hợp các nhận xét và một số siêu dữ liệu. Các bình luận có thể được truy cập riêng lẻ tại /discus
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để chỉ tập trung vào một vấn đề chỉnh sửa bài đăng này. Đã đóng vào năm ngoái. Cải thiện nhiệm vụ này
Tôi là một lập trình viên xuất sắc, rất giỏi!