powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ООП. Объект загружает сам себя - это нормально?
11 сообщений из 11, страница 1 из 1
ООП. Объект загружает сам себя - это нормально?
    #39703320
Всем привет!
В общем, раньше я не был ООП-шником, потом как-то втянулся и пошло-поехало.
В одном проекте (C# VS2017) "достукался" до такой строчки кода:

Код: c#
1.
MySettings = MySettings.Load_from_File(FileName);



В общем всё работает, но вопрос в том - нормальная ли это практика, что объект (экземпляр класса) загружает сам себя из файла (и изменяется при этом) ?
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703377
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это нарушение принципа единственной ответственности и separation of concerns.

Так же рекомиендую прочитать сошлашение о наименовании в C#
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703385
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.В общем всё работает, но вопрос в том - нормальная ли это практика, что объект (экземпляр класса) загружает сам себя из файла (и изменяется при этом)
Не может объект загружать сам себя. Загружает скорее всего статический метод класса, скорее всего вы изобретаете давно известный паттерн
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703396
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для того, чтоб следовать принципу единственной ответственности, поступайте следующим образом.
попробуйте описать необходимый для реализации класс 1 предложением:
1. Класс который описывает параметры настройки
2. Класс который загружает параметры из файла
3. Класс который загружает параметры из базы
и т.д. Когда класс можно описать 1им коротким предложением, скорее всего соответствует этому принципу.
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703435
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.,

Метод должен быть статическим и тогда с правой стороны у нас будет стоять просто функция (stateless) которая просто инстанциирует объект.

По аналогии с созданием синглтона.
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703775
спасибо всем,
я также пришел к мысли, что загрузку инстанса (десериализацию из бинарника) лучше делать статическим методом.
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703780
WebSharperТак же рекомендую прочитать соглашение о наименовании в C#смотрел как-то на одном сайте. В общем мне гораздо больше нравится разделять слова символом подчёркивания - и где-то я даже видел - утверждалось, что такой вариант вполне приемлемый.
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703788
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesдля того, чтоб следовать принципу единственной ответственности, поступайте следующим образом. попробуйте описать необходимый для реализации класс 1 предложением:
Класс, который реализует всю функциональность приложения

Я вам не Димон.В общем всё работает, но вопрос в том - нормальная ли это практика, что объект (экземпляр класса) загружает сам себя из файла (и изменяется при этом) ?
Если хорошо решает стоящие в этом месте задачи и не вызывает проблем - это адекватное решение. Если плохо решает стоящие в этом месте задачи или вызывает проблемы - это неадекватное решение. "Нормальной практики", вообще говоря, не существует, это просто сокращённые правила для тупых уровня "не используй goto". Такое решение есть куда улучшать. А вот нужно ли улучшать - зависит от того, где и как применяется.
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39703927
softwarer"Нормальной практики", вообще говоря, не существует,
Под "Нормальной практикой" здесь я подразумеваю устоявшиеся шаблоны решения типовых задач.
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39704066
WebSharper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.смотрел как-то на одном сайте. В общем мне гораздо больше нравится разделять слова символом подчёркивания - и где-то я даже видел - утверждалось, что такой вариант вполне приемлемый.

Вопрос, как именно наименовать методы абсолютно непринципиальный, но удобнее когда все именуют одинаково. Соглашения о наименовании для C# описаны тут .
...
Рейтинг: 0 / 0
ООП. Объект загружает сам себя - это нормально?
    #39704184
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не Димон.Всем привет!
В общем, раньше я не был ООП-шником, потом как-то втянулся и пошло-поехало.
В одном проекте (C# VS2017) "достукался" до такой строчки кода:

Код: c#
1.
MySettings = MySettings.Load_from_File(FileName);



В общем всё работает, но вопрос в том - нормальная ли это практика, что объект (экземпляр класса) загружает сам себя из файла (и изменяется при этом) ?

Да, это нормальная практика, а что же в этом ненормального?

Тут плохо только то, что формат файла (и вообще что это файл) зашит накрепко в этой фукнции.
Если других форматов не нужно, то и нормально. Если нужно, то можно делать полиморфные лоадеры из разных источников
и создавать их через фабрику (например) и параметризировать этот метод созданным лоадером.
Это если нужна гибкость форматов и носителей, откуда загружаться надо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ООП. Объект загружает сам себя - это нормально?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]