170 похожих чатов

Здравствуйте. Пишу класс для контроля коммутаторов, и в зависимости от

аргументов у меня может быть разная структура в классе. Например
Name: Tplink
Number: 1234
или
Name: Onu
Number: [1, 2, 3, 4]
Fading: -30

Таким образом хотелось бы сделать один класс, который может контролировать разные типы коммутаторов с разными параметрами и типами данных. Вопрос в том, как сделать подобное со статической типизацией в go? Создавать разные классы под разные коммутаторы не очень хочется, это немного оверхед, проще сделать более гибкие методы в одном классе. Как обычно поступают в таких случаях?

8 ответов

16 просмотров

перестать мыслить java классами, а затем, например, разбить данные и логику по разным объектам, вариантов масса

Andrei 🦉 Sergeev
перестать мыслить java классами, а затем, например...

это, кстати, можно продолжать, с учетом того, что наследования нет и не будет. а вот мыслить java-интерфейсами придется перестать

Andrei 🦉 Sergeev
перестать мыслить java классами, а затем, например...

а в джаве тоже статическая типизация )) там скорее человек из скриптового языка пришёл

_проще сделать более гибкие методы в одном классе. _ ну, простота эта кажущаяся )) и только на этапе написания а вот в поддержке...

Alexey Shumkin
_проще сделать более гибкие методы в одном классе....

Общая структура с методами для Onu, TpLink и т.д. в чем будет выражаться проблема поддержки?

У вас получается структура со string(название) и []byte() остальная информация, вариант?

Alexander- Автор вопроса
🎅 СНГ
У вас получается структура со string(название) и [...

Вы имеете ввиду всю динамическую информацию хранить в структуре как массив байт?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта