Создать тип объекта на основе возвращаемого значения функции-члена базового типаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Создать тип объекта на основе возвращаемого значения функции-члена базового типа

Сообщение Anonymous »

Я реализую балансировщик нагрузки, который должен выбирать стратегию балансировки на основе некоторой логики:

Код: Выделить всё

class LoadBalancer{
public:
bool get_backend_cpu_info(){// some complicate logic involve member backends b }
static void create(){
if successfully get_backend_cpu_info():
use LoadBalancerCPU.choose_backend()
else
use LoadBalancerRoundRobin.choose_backend()
}
choose_backend(){// depends on which type of loadbalancer we are using}
private:
vector b;
};
В c++ простой прямой подход состоит в том, чтобы сделать select_backend виртуальной функцией для получения полиморфизма во время выполнения. Однако метод get_backend_cpu_info() также является сложным процессом и требует доступа к бэкэндам членов класса, а это означает, что мне нужно создать сам класс перед вызовом get_backend_cpu_info() . Другой подход — использовать фабричный метод, но методу get_backend_cpu_info() требуется доступ к членам перед созданием объекта. Что такое хороший шаблон проектирования или отношения классов в моем случае???? Этот вопрос не зависит от языка, и я просто использую C++ в качестве примера.
Я ожидаю хорошего шаблона проектирования или дизайна отношений классов, желательно с кодом C++

Подробнее здесь: https://stackoverflow.com/questions/787 ... turn-value
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»