Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Обобщённый интерфейс для разных библиотек?

1055  1 2 3 все
alex445 коренной житель24.05.22 15:52
24.05.22 15:52 

Хочу менять библиотеки для логирования, например, на лету, не рыская по приложения и не меняя все вызовы конкретной библиотеки на вызовы другой (все эти LogDebug, LogTrace). Но у них у всех разный набор уровней логирования, форматтеры, таргеты и вообще понятия. Ладно там с форматтерами-таргетами - в конфиг-файле написать можно. Но в коде как?


Можно ли написать свой универсальный интерфейс для всех этих библиотек или большинства из них? По мне, или придётся делать ещё больше уровней логирования (чтобы покрыть все случаи во всех популярных либах), или придётся ограничиваться некими универсальными и все остальные сводить к ним. Т.е. мой универсальный интерфейс будет либо невероятно навороченным, либо ограниченным, подходящим лишь для текущего приложения.


У МС есть что-то подобное, но там, похоже, пошли по пути навороченности, где подавляющая часть перегрузок (типа EventId) просто не нужна, т.к. в некоторых логгерах и приложениях даже понятия такого нет.


Как вообще решается такая проблема? Или вы для проекта выбираете какой-то логгер и надеетесь, что с ним всё будет в порядке на протяжении всей жизни приложения, и мигрировать на другой логгер не придётся?

#1 
alex445 коренной житель24.05.22 15:56
NEW 24.05.22 15:56 
в ответ alex445 24.05.22 15:52

Всякие чуваки так и делают - пишут фреймворк для сопряжения кучи разных других логирующих фреймворков. Типа такого (статья - реклама Papertrail). Но это надо забить на основную работу и переквалифицироваться в написателя своего фреймворка - т.е. не подходит.

#2 
AlexNek патриот24.05.22 21:48
AlexNek
NEW 24.05.22 21:48 
в ответ alex445 24.05.22 15:52

А что конкретно хочется иметь в логах?

Вполне достаточно иметь

ILogger

{

Debug(message);

Error(message);

}


В зависимости от хотелок можно еще чего добавить.

Но обычно выбирают один логгер и им пользуются, зачем их менять непонятно.

#3 
alex445 коренной житель25.05.22 01:19
NEW 25.05.22 01:19 
в ответ AlexNek 24.05.22 21:48, Последний раз изменено 25.05.22 01:24 (alex445)

"Кабы я была царица"... Хотят универсальности, понимаешь. Кто первый крикнул на митинге "я за абстрагироваться и универсализироваться", тот и помидор. Главное, фонтанировать заученными в умных книжках паттернами и слоганами, а надо ли оно тут и сейчас - говно вопрос.


А создатели логгеров это знают и специально вставляют палки в колёса - у одних есть Critical, у других Fatal - мы, мать их, художники, мы так видим. А третьи собирают всё дерьмо отовсюду и хранят по 10-15 разных уровней логирования, пытаясь удовлетворить всех.


Короче, понятно - от недостатка ресурсов поддерживать совместимость всего со всем, нищебродские поцаны лепят минимально удовлетворящий интерфейс и надеются, что начальство не будет чудить хотелками дальше. ))

#4 
MrSanders коренной житель25.05.22 09:24
NEW 25.05.22 09:24 
в ответ alex445 25.05.22 01:19

Заинтригован. А если у вас достаточно ресурсов ну вот вааще на всё, как вы лично поддерживали бы совместимость "всего со всем"?

#5 
alex445 коренной житель25.05.22 11:11
NEW 25.05.22 11:11 
в ответ MrSanders 25.05.22 09:24

Ну вот как те парни по ссылкам - либо своя фирма, заточенная на продукт, пытающийся совместить и конвергировать кучи разных логгеров (хз, как они там внутри всё делают, но уверен, что дерьмо ещё то через кучи слоёв и абстракций), либо МС, выкатившая обобщённый интерфейс с двумя десятками логгирующих функций на все случаи жизни (и всё равно не хватает вариантов).


То, что я сейчас переписываю, тоже содержит свой логгер поверх стандартной распространённой библиотеки. Там чел пошёл по пути "всего и побольше" - ввёл несколько десятков логирующих функций на все случаи жизни, и к каждой ещё несколько перегрузок (ну вдруг ещё какие параметры пригодятся?) - типа LogErrorWhenSomethingIsHappend, где "WhenSomethingIsHappend" может быть каким угодно условием. Главное, что это условие в название логирующего метода включено. Т.е. чел не какой-то один объект передаёт, куда всё дерьмо собирает, а дробит объект на части и множит методы с этими частями.


При этом он в этом своём логгере другой распространённый стандартный логгер никак не инкапсулирует, а светит егошними уровнями логгирования и интерфейсами наружу, заставляя подключать к каждому проекту, где кастомный логгер есть, ещё и библиотеку стандартного логгера. В результате замена стандартного логгера внутри кастомного на другой - перепахивание всего кода приложения с заменой ссылок, интервейсов и вообще зависимостей. Вместо простой правки лишь своего кастомного логгера.

#6 
AlexNek патриот25.05.22 12:55
AlexNek
NEW 25.05.22 12:55 
в ответ alex445 25.05.22 11:11
и всё равно не хватает вариантов

Странно, отчего-то нам всегда хватало. шок


Что нужно то обычно?

Знать откуда пришло сообщение и когда. 25.05.2022 19:07:05.345 [Thread 100500] MySuperClass.cs MyGreatFunction line 65, pos. 16

Возможно еще группа (ошибка, инфо) и текст. Всё остальное от лукавого.

Любая перегрузка убьёт первую часть, которая обычно создается автоматом.

Log4Net, Serilog, NLog - Выберите что больше нравится и успокойтесь.

#7 
alex445 коренной житель25.05.22 13:44
NEW 25.05.22 13:44 
в ответ AlexNek 25.05.22 12:55, Последний раз изменено 25.05.22 13:45 (alex445)
Знать откуда пришло сообщение и когда. 25.05.2022 19:07:05.345 [Thread 100500] MySuperClass.cs MyGreatFunction line 65, pos. 16
Возможно еще группа (ошибка, инфо) и текст. Всё остальное от лукавого.

А контекст кто будет логировать? Или вам никогда не нужен был контекст?


В приложухе, что я переписываю, логируют кучу контекста - типа ввода пользователя, состояния некоторых объектов, данных сессии и прочее.

#8 
AlexNek патриот25.05.22 17:38
AlexNek
NEW 25.05.22 17:38 
в ответ alex445 25.05.22 13:44
А контекст кто будет логировать?

А что есть контекст?

Если в функцию пришло 2 конфеты, то текст может быть следующий: "пришло 2 конфеты, но подарков null"

#9 
alex445 коренной житель25.05.22 18:03
NEW 25.05.22 18:03 
в ответ AlexNek 25.05.22 17:38, Последний раз изменено 25.05.22 18:05 (alex445)

Ну я написал, что есть контекст. Или допустим, у вас глубокая вложенность модальных диалогов. Где-то в глубине ошибка из-за неправильного ввода. Но вы хотели бы знать и состояние других диалогов, а также ещё кучи объектов в приложении. Вот и добавляете их в логирование. Что тогда, как логировать? По идее, можно сериализовать все эти объекты в одну гигантскую строку с кастомным форматированием и отдать эту строку в логгер. Ну и потом нужен кастомный десериализатор для анализа такого лога. Ну или чтобы такой лог легко читаем был.

#10 
AlexNek патриот25.05.22 23:12
AlexNek
NEW 25.05.22 23:12 
в ответ alex445 25.05.22 18:03
глубокая вложенность модальных диалогов

Называется - вначале делаем бардак, а после думаем как бы во всём этом разобраться спок

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

"Открыли диалог А"

"Изменили имя Лекс на Вася"

"Изменили возраст 16 на 32"

...

Ну и ко всему этому - состояние предыдущих диалогов не должно нарушать работу текущего.

Какая то история не помешает, чтобы понять происходящее, но копировать маниакально всё шок

#11 
alex445 коренной житель26.05.22 00:53
NEW 26.05.22 00:53 
в ответ AlexNek 25.05.22 23:12

У больных людей карточки с их историями болезней есть. Вот и с прогами так нужно. Только вместо болезней - баги. За инструмент, который залогирует всё, что привело юзера к такому-то багу, и потом сможет воспроизвести это на машине разработчика, люди отвалят миллиарды. Большие системы у больших дядей столько инфы пересылают при возникновении ошибки, что против них в суды подают за пересылку персональных данных. Там чуть ли не слепок оперативной памяти, плюс запись последних действий пользователя и всего состояния программы. Но это, конечно, в идеале.

#12 
AlexNek патриот26.05.22 12:34
AlexNek
NEW 26.05.22 12:34 
в ответ alex445 26.05.22 00:53
У больных людей карточки с их историями болезней есть.

Вот именно что у больных и толку от них? Кто то будет долго всё изучать и сопоставлять? Чем больше информации тем меньше вероятность найти там что то полезное.


и потом сможет воспроизвести это на машине разработчика,

Нужно поменьше фантастики читать на ночь. Что бы на утро не возникали бредовые идеи спок

Вот помню пару проектов. На одном, устройство с софтом работало где то неделю, потом софт вылетал. При попытках эмуляции всё работало прекрасно.

На реальном оборудовании логи показывали всё время различные части где вылетало. Можно было увеличивать количество "контекста" до бесконечности, но решения так и не найти.

Решилось многократными обзорами проги - что может работать ненадежно.

Проект 2. Оборудование для проверки качества рельсов, расположено за пару тысяч километров. Стояло два фото барьера на вход и выход рельса. Все работало хорошо до какого-то времени, пока один из сенсоров не начал выдавать совершенно странные показания - рельс выходит и через очень короткое время заходит опять и так еще раз. Начали пытать людей возле машины. В итоге оказалось, что они сделали две дырки в рельсе и световой луч попадал как раз на дырки. Каким чудо "логированием" это можно выяснить?

И таких примеров можно продолжить до бесконечности.

#13 
alex445 коренной житель26.05.22 14:15
NEW 26.05.22 14:15 
в ответ AlexNek 26.05.22 12:34, Последний раз изменено 26.05.22 14:23 (alex445)
Чем больше информации тем меньше вероятность найти там что то полезное.

Вы это читаете, Мурр? Со своими тоннами документации, где вы откапываете офигенский функционал, недоступный легко в менюшках. )

#14 
alex445 коренной житель26.05.22 14:22
NEW 26.05.22 14:22 
в ответ AlexNek 26.05.22 12:34, Последний раз изменено 26.05.22 14:23 (alex445)
В итоге оказалось, что они сделали две дырки в рельсе и световой луч попадал как раз на дырки. Каким чудо "логированием" это можно выяснить?

Ну да, если рабочие делают что-то, что не предусмотрено технологией, инструкцией, или просто не говорят начальству и разработчикам, что они что-то изменили, то такого не предусмотришь. Значит нужно отчитываться об изменениях на местах, а не самодельничать.


Но в общем, как я говорил, почему большие системы, написанные большими дядями (т.е. не какими-то там семизнаками :) ), пытаются отослать тонны контекстной инфы при ошибках? Они, поди, собаку на этом съели и лучше знают?

#15 
AlexNek патриот26.05.22 21:01
AlexNek
NEW 26.05.22 21:01 
в ответ alex445 26.05.22 14:22
написанные большими дядями

Ну вот сейчас одна большая страна пытается военными действиями добиться каких то своих задач.

А давно вот, какая то другая большая страна сделала самую большую бомбу в мире и решила посмотреть сколько людей она убьёт.

Они, поди, собаку на этом съели и лучше знают?

#16 
alex445 коренной житель27.05.22 00:45
NEW 27.05.22 00:45 
в ответ AlexNek 26.05.22 21:01, Последний раз изменено 27.05.22 00:53 (alex445)
Они, поди, собаку на этом съели и лучше знают?

Совершенно верно!


Если Майкрософт или там Гугл хочет отправить отчёт об ошибке на несколько мегабайт данных, значит и нам что-то подобное нужно делать. Большьие дяди лаптей не плетут. И вообще, не надо бояться нюков.


Вот вы используете джаваскрипт в сложных приложениях, несмотря на то, что это дерьмо-язык. А всё потому, что его раскрутил Гугл и стал писать на нём не просто маленькие сайтики с минимальной функциональностью, а здоровенные приложения. И все стали за ним повторять, плюясь и чертыхаясь. Потому что, наверное эти парни знают что-то, раз с JS всё слезать не могут. И мы будем за ними повторять и пихать JS везде и всюду.

#17 
7495 местный житель27.05.22 09:34
7495
NEW 27.05.22 09:34 
в ответ alex445 27.05.22 00:45

Так он сам своим примером с рельсами подтвердил что логгировать надо, и чем больше данных тем лучше.

На предприятиях используют системы типа канбан, так каждую детальку и её путь можно на фабрике отследить.

Сколько информации собирать зависит от пропускной способности и места в хранилище (переписывай в цикле).


они сделали две дырки в рельсе и световой луч попадал как раз на дырки.
Каким чудо "логированием" это можно выяснить?
И таких примеров можно продолжить до бесконечности.


А не надо предсказывать "дырки" отверстия, надо просто логировать все артефакты, + дату, время, температуру, смену, начальника смены, идт итп..

Что-то непонятное произошло? Смотрят в логах, проверяют на участке, либо отсеивают артефакты такого типа, либо чинят линию и лишают премии.

И вообще "программирование" это всего лишь инструмент, гораздо важней сопровождающий программист, который отвечает за отладку и настройку.


По поводу яваскрипта:

Допустим человек хочет достичь большего, чем сравнивать дешёвые сорта маргарина в Новосибирске, то он начинает изучать яваскрипт и солидити.

Открываются новые возможности, покупать лучшее сливочное масло, с черной икрой, пересаживается со стыдной машины в теслу. Слушай Виталика.

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#18 
Срыв покровов патриот27.05.22 09:49
NEW 27.05.22 09:49 
в ответ 7495 27.05.22 09:34

о, расскажи, какая у тебя тесла? За границу ездить не напряжно?

#19 
7495 местный житель27.05.22 09:56
7495
NEW 27.05.22 09:56 
в ответ Срыв покровов 27.05.22 09:49

Зачем заграницу? На дачу надо ехать - картошку до сих пор ещё не посадили, с такой погодой. зло

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#20 
Срыв покровов патриот27.05.22 14:44
NEW 27.05.22 14:44 
в ответ 7495 27.05.22 09:56

ну да. А для дачи зачем Теслу - достаточно сумки на колёсиках.

#21 
AlexNek патриот27.05.22 17:33
AlexNek
NEW 27.05.22 17:33 
в ответ alex445 27.05.22 00:45
значит и нам что-то подобное нужно делать

ну просто изумительная идея повторять всё что видим вокруг не понимая зачем.

#22 
alex445 коренной житель27.05.22 20:07
NEW 27.05.22 20:07 
в ответ 7495 27.05.22 09:34

Допустим человек хочет достичь большего, чем сравнивать дешёвые сорта маргарина в Новосибирске, то он начинает изучать яваскрипт и солидити.

Открываются новые возможности, покупать лучшее сливочное масло, с черной икрой, пересаживается со стыдной машины в теслу. Слушай Виталика.

А мог бы просто сделать генератор открывающихся сундуков со случайным содержимым, замаскировать это под какую-нибудь типа-игру, и рубить миллионы. Абсолютно безрисковое мероприятие, в отличие от криптовалюты.

#23 
alex445 коренной житель27.05.22 20:12
NEW 27.05.22 20:12 
в ответ 7495 27.05.22 09:56
На дачу надо ехать - картошку до сих пор ещё не посадили

Надо спросить у Маска или Гейтса - ездиют ли они на дачи, чтобы сажать картошку. В дойчланде этим не будет заниматься даже беженец или переселенец на пособии, а в руссланде - каждый второй инженер или врач после трудовой недели едет на дачу - попой кверху дополнительно батрачить, руками всё вспахивая и перебирая. В совке вообще поголовное было. Я другой такой страны не знаю, где так вольно дышит человек. Централизованное сельское хозяйство и вообще технический прогресс как будто мимо прошли.

#24 
Срыв покровов патриот27.05.22 21:14
27.05.22 21:14 
в ответ alex445 27.05.22 20:12

Зато в то время, как в России любой клерк при необходимости заказывает доставку холодильника, программист и кандидат наук Алекс покупает себе автобус, чтобы на доставке сэкономить.
И когда клерк там отдаёт машину на мойку с химчисткой, среднестатистический Алекс корячится со шлангом на заправке за монетки.
А сколько тут людей сами себе ремонт делают…


#25 
alex445 коренной житель27.05.22 22:13
NEW 27.05.22 22:13 
в ответ Срыв покровов 27.05.22 21:14, Последний раз изменено 27.05.22 22:16 (alex445)

В России тоже почти все делают себе ремонт сами. Заказать ремонт - это во-первых очень дорого (доступно разве что этим вашим новомодным программистам и разным начальникам), а во-вторых - следить надо, чтобы не накосячили. Заказать могут разве что что-то отдельное - типа установки батарей или труб. Но это тоже обычно у местного ЖЭКа заказывают.


А "тут" сдают построенные дома с голыми стенами, где ты должен отделку и покраску сам сделать? Я имею ввиду не частный дом, а многоэтажку или дом с несколькими квартирами.


А зачем мне на мойку и химчистку отдавать, когда мне проще за монетку ополоснуть тачку и поехать дальше? Ну как стану ещё побогаче, может и буду отдавать.


И "автобус" я хочу не столько для доставки, сколько для удобства путешествий (которых у меня будет от силы 1-2 в год). Я вам ещё раз пишу, что мой "автобус" по занимаемому месту - что ваш универсал, так что вопросы парковки, стоянки и маневрирования одни и те же. А то, что у меня повыше будет, так это хорошо - не надо нагибаться, и запихнуть можно при случае чего габаритное.

#26 
Срыв покровов патриот28.05.22 00:03
28.05.22 00:03 
в ответ alex445 27.05.22 22:13
А "тут" сдают построенные дома с голыми стенами, где ты должен отделку и покраску сам сделать? Я имею ввиду не частный дом, а многоэтажку или дом с несколькими квартирами.

Сдают. Можешь конечно отделку заказать, но переплатишь в двойне.

#27 
alex445 коренной житель28.05.22 00:33
NEW 28.05.22 00:33 
в ответ Срыв покровов 28.05.22 00:03, Последний раз изменено 28.05.22 00:36 (alex445)

Типа такого? Правда тут перебор - стен даже нет. Но бывает что есть лишь стены и батареи... и голые кирпичи или панельки, которые надо сначала штукатурить, затем красить или клеить обои - короче, вложить ещё тонны денег и времени.


Я знаю, что частные дома часто можно так заказать - без отделки. Народ пытается экономить. Но чтобы в многокомнатных кондоминиумах так продавали...


#28 
alex445 коренной житель28.05.22 00:38
NEW 28.05.22 00:38 
в ответ alex445 28.05.22 00:33

А что по качеству? Много брака и недоделок бывает?

#29 
Срыв покровов патриот28.05.22 11:25
NEW 28.05.22 11:25 
в ответ alex445 28.05.22 00:33

про кондоминимумы не знаю

Знакомый(инженер в сименсе) брал отпуск за свой счёт и сам отделывал таунхаус.

#30 
MrSanders коренной житель28.05.22 13:54
NEW 28.05.22 13:54 
в ответ alex445 28.05.22 00:38
А что по качеству? Много брака и недоделок бывает?

Просто дохрена. И даже больше. За все мои 25 лет в Германии я видел только 2-х хандверкеров, у которых руки не из жопы и голова чтобы думать, а не только в неё есть. Всё, что могу, я стараюсь сделать сам. Не из-за экономии, а из-за того, что я сделаю это лучше, чем эти криворукие кретины.

Я так и не смог объяснить немецким водопроводчикам, что нельзя соединять алюминиевую трубу с медной. Алюминий проржавеет. Они даже слова такого "гальваническая коррозия" не слышали...

#31 
alex445 коренной житель28.05.22 19:26
NEW 28.05.22 19:26 
в ответ MrSanders 28.05.22 13:54

А истребовать по гарантии нельзя с них потом будет? С компенсацией ущерба?


Правда, слышал, что фирмочки строительно-отделочные периодически специально закрывают и потом новые открывают - с кого вы мол компенсации истребовать будете. Но вроде с собственников всё равно можно сдёрнуть, если они раньше фирмой накосячившей владели?

#32 
alex445 коренной житель28.05.22 19:28
NEW 28.05.22 19:28 
в ответ alex445 28.05.22 19:26

Странно - алюминий, медь. А разве сейчас не пластик? Канализация - полностью пластик (вплоть до центральной трубы). Подвод - стальная труба в пластике или полностью пластик. В России подача вод под 10 атмосферами идёт, поэтому там нужен толстый пластик или лучше всё же сталь в пластике. А в Германии вроде всего 3 - можно чистый пластик. А пластиковые трубы подачи воды просто паяются. Водоотведение - так они вкладываются через резиновые прокладки - можно каналью всю самому собрать-разобрать за несколько часов, не мудохаясь с чугуном.

#33 
Срыв покровов патриот28.05.22 20:50
NEW 28.05.22 20:50 
в ответ alex445 28.05.22 19:26
Но вроде с собственников всё равно можно сдёрнуть, если они раньше фирмой накосячившей владели?

Алёша, в универе вообще не преподавали виды правовых форм юридических лиц?

#34 
alex445 коренной житель28.05.22 21:15
NEW 28.05.22 21:15 
в ответ Срыв покровов 28.05.22 20:50

Вы имеете ввиду, что они сейчас все с "ограниченной ответственностью"? Т.е. вобщем говоря, нет на них управы? Можно косячить, потом растворяться в воздухе, и никто ни за что не ответит?

#35 
Срыв покровов патриот29.05.22 06:39
NEW 29.05.22 06:39 
в ответ alex445 28.05.22 21:15

предположу, что да.

#36 
Программист коренной житель30.05.22 07:37
NEW 30.05.22 07:37 
в ответ alex445 24.05.22 15:52
Как вообще решается такая проблема?

Адаптер

#37 
alex445 коренной житель30.05.22 09:16
NEW 30.05.22 09:16 
в ответ Программист 30.05.22 07:37, Последний раз изменено 30.05.22 09:16 (alex445)

Этот МСовский ILogger и есть адаптер. Понятно, что надо писать прослойку. Я спрашивал, какой подход лучше - пытаться все кейсы всех логгеров покрыть, или лишь минимальные для своего приложения. Первый путь - это явно больше на универсальное решение и создание собственного продукта тянет. Второй - быстро подогнать под текущие реалии.


Кстати, чем адаптер от фасада отличается? И там ещё кучка похожих названий есть.

#38 
AlexNek патриот30.05.22 17:56
AlexNek
NEW 30.05.22 17:56 
в ответ alex445 30.05.22 09:16
адаптер от фасада отличается?


https://bambielli.com/posts/2017-09-09-the-adapter-pattern...

#39 
alex445 коренной житель30.05.22 21:13
NEW 30.05.22 21:13 
в ответ AlexNek 30.05.22 17:56, Последний раз изменено 30.05.22 21:17 (alex445)

Спасибо за ссылку. Но когда я вижу такие штуки



я понимаю, что мне просто ипут мозги чрезмерными классификациями. Таким студентов хорошо на лекциях мучить. Сидим, конспектируем классификации, рисуем квардратики, к ним стрелочки, списочки заполняем - толку нет никакого, зато все типа при деле.


А главное, все эти названия мне ничего не говорят. Я думаю, они и носителю английского ничего не говорят. Почему, например, декоратор добавляет новое поведение, хотя он всего лишь декорирует, а адаптер не добавляет, хотя он адаптирует? В моей системе понятий я бы сделал наоборот. Ну и далее всё в таком духе - понапридумывали ни о чём не говорящих понятий, отличающихся лишь в деталях, и давай на своём птичьем языке говорить, изображая умных. ))

#40 
AlexNek патриот30.05.22 22:30
AlexNek
NEW 30.05.22 22:30 
в ответ alex445 30.05.22 21:13

https://qastack.ru/programming/2961307/what-is-the-differe...


...мозги чрезмерными классификациями

ну кому как. ГОФ тогда тоже нужно запретить - какая то просто вредительская банда

#41 
alex445 коренной житель30.05.22 22:46
NEW 30.05.22 22:46 
в ответ AlexNek 30.05.22 22:30

Всё это фигня. Теоретически все эти кучи терминов и классификаций придумали, чтобы быстро понимать друг друга и отличать, что один класс делает от другого. А на практике все понимают подо всём своё, поэтому увидев, что что-то называется фасад, ты на самом деле можешь там обнаружить что угодно. Поэтому как и всегда, если хочешь понять, что делает класс, то рассматриваешь его устройство в подробностях, не особо придавая значения его названию.

#42 
7495 местный житель31.05.22 19:31
7495
NEW 31.05.22 19:31 
в ответ alex445 27.05.22 20:12
на дачи, чтобы сажать картошку. В дойчланде этим не будет заниматься даже беженец или переселенец на пособии


Ключевое слово: Schrebergarten погугли, кто побогаче конечно нужно брать поместье, лошади, пруд...

Ты просто живёшь в каморке, а если был бы свой дом, терраса - плодовые деревья, цветочки, смотри что продают в садовых центрах.

В детстве был большой сливовый сад, все соседи приходили за сливами. Если собираются 3 немца обязательно грюндуют ферайн,

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

В общем рассказывать немцу как и чем живут немцы... Пока не поздно, погугли блокчейн и как на нем программировать, купишь дом.

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#43 
alex445 коренной житель31.05.22 20:08
NEW 31.05.22 20:08 
в ответ 7495 31.05.22 19:31, Последний раз изменено 31.05.22 20:09 (alex445)

В упор не вижу, когда у немцев, особенно программистов, есть время возиться с землёй, ландшафтным дизайном, разведением живности. Я же говорю, мне банально лень в моей каморке пыль протереть, а что я буду с большим домом делать? Домработниц нанимать? Разве что если у тебя профессия с этим связана - ну там цветы продаёшь, овощи, фрукты - полуфермер, короче.


Вот кто у тех же семизнаков дом обхаживает?


Эти гартены и есть дачи по российским понятиям. Т.е. не загородний дом, где ты живёшь постоянно, а именно место, куда приезжаешь. В основном летом. Просто в России их раньше использовали для выращивания овощей в основном - чтобы прокормиться. Если же у тебя свой постоянный жилой дом с участком, то в упор не вижу, зачем ещё такой гартен иметь - всё на своём участке и делаешь.

#44 
AlexNek патриот31.05.22 21:33
AlexNek
NEW 31.05.22 21:33 
в ответ alex445 30.05.22 22:46
Теоретически все эти кучи терминов и классификаций придумали...

...для полнейших дураков. Зачем изучать сопромат, когда мост или дом можно и так построить - как говорит один мой знакомый ремесленник.

#45 
7495 местный житель01.06.22 11:44
7495
NEW 01.06.22 11:44 
в ответ alex445 31.05.22 20:08

Я тебе дал ссылку на маленькие садовые участки, ты тут же стал переобуваться, КАРТОШКА не на еду, а как хобби.

В прошлом году например, я посадил фиолетовую картошку (внутри клубень синий), сделал сотни прививок (груша).

просто в лом писать об этом на форуме, а вот решать задачки по программированию это можно, я пишу ты решаешь)))

Вопросы и Ответы - Программируем калькулятор пособий для беженцев вместе.
#46 
1 2 3 все