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

Опт. решение для разделения объектов данных от чтения/записи и отображения

795  1 2 все
AlexNek патриот12.03.20 21:12
AlexNek
NEW 12.03.20 21:12 
в ответ Программист 12.03.20 08:53

Фактически IEditor повторяет структуру объекта и это не редактор, а IDataObjectXDefinition

public interface IEditor
  {
    string Name { get; }
    int Length { get; }
    IEnumerable<IEditor> SubItems { get; }
    bool IsAvailable { get; set; }
  }

Сейчас именно так и сделано. Из "читалки" выходят интерфейсы данных, имплементация внутри. Думал может, что лучше можно найти.

Объекты то ведь не такие простые, их еще нужно удалять и модифицировать и внутри еще списки, то бишь нужна ObservableCollection и WindowsBase assembly. Что не очень то хочется для Консольных и Винформс проектов.

До "писалки" пока еще не дошел, будут наверняка новые проблемы.


Или ты в лучших традициях Murr'а утаил какие-то детали?

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

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

#21 
AlexNek патриот12.03.20 21:55
AlexNek
NEW 12.03.20 21:55 
в ответ moose 12.03.20 16:27
но приведите простой КОНКРЕТНЫЙ пример

Хм, простой... Не знаю пока.

Но вообще с делением на "конкретников" и "абстрактников" познакомился давно. Как то объяснял коллеге что то и потом смотрю, что не понимает он решение. В итоге выяснилось что мы на разных полюсах. Без конкретного примера ему ничего нельзя было рассказывать.

Но зато как это понял сразу пошло нормально. Так что сорри, привык максимально абстрактно описывать.


Если немного конкретно.. и попроще.. улыб


Есть объект "параметр", читает имя поля и тип объекта, если тип объекта numeric, то читается еще значение по умолчанию. Затем читается конкретный тип.

Из типов: bool, int, double, string, различные комбинации Dictionary (int-string, string-double, int-double) включая еще и различные вложенные словари x-Dictionary<k,y>

И это всё нужно показать в одной таблице и также иметь возможность редактирования всех типов данных. При этом нужно еще пользовать С++ либу для чтения.


Кроме этого есть еще и другие подобные объекты.

#22 
  moose коренной житель12.03.20 22:20
NEW 12.03.20 22:20 
в ответ AlexNek 12.03.20 21:55

и снова вы "паки-паки", "иже херувимы". языками не владеете?



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

паки-паки...

#23 
AlexNek патриот12.03.20 23:26
AlexNek
NEW 12.03.20 23:26 
в ответ moose 12.03.20 22:20
уже и "кодировать начали"

Нет времени на раздумья и поиск лучшего решения. Это всё как бы на будущее ну и ли в процессе что то изменить в лучшую сторону.

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


я действительно, не поняв, чего хотят, не въезжаю

Ну значит что то не так описал смущ Просто не знаю как описать лучше. Я и сам то пару недель врубался что нужно, а как это за пару минут описать...

#24 
Murr патриот12.03.20 23:58
Murr
NEW 12.03.20 23:58 
в ответ AlexNek 12.03.20 23:26

Просто не знаю как описать лучше.

-----

Да просто по шагам уточняй что продумал/осознал...

Муторно конечно, но за 20-30 минут полное решение не пишется...

#25 
  moose коренной житель13.03.20 11:21
NEW 13.03.20 11:21 
в ответ AlexNek 12.03.20 23:26

относится к заглавию и первому посту


что такое:
0. объект данных
1. отдельный проект
2. внутренний проект
3. наружа
4. запись/чтение (и куда/откуда)
5. в " изменения удобно делать" какие изменения
6. что "все вместе" и с какой стороны что
7. разделение от чтения/записи и отображения

#26 
  moose коренной житель13.03.20 12:22
NEW 13.03.20 12:22 
в ответ AlexNek 12.03.20 23:26, Последний раз изменено 13.03.20 12:24 (moose)
Заказчика интересует конкретный продукт в минимальные сроки..

ну, это было вашей задачей (и сейчас еще остается), разъяснить клиенту, в какие реальные сроки какого качества и цены сопровождения продукт он может реально поличить. чтобы родился жизнеспособный полноценный ребенок, необходимо 9 месяцев. до семи, говорят, тоже потом догонит. но кто хочет за 5-6 родить, получит слабого и отсталого, если вообще живого. и это не зависит никак от того, что интересует или не интересует заказчика.


#27 
Программист коренной житель13.03.20 14:03
NEW 13.03.20 14:03 
в ответ AlexNek 12.03.20 21:12
Фактически IEditor повторяет структуру объекта и это не редактор, а IDataObjectXDefinition

Тут не совсем понятно, что тогда такое IEditor. Я думал, что это ViewModel для редактора.

Если уж ты говоришь о ObservableCollection, значит речь о WPF и, следовательно, в MVVM.

Итак, модель у тебя каким-то образом создает (считывает из файла, получает из БД, генерирует случайным образом) объекты с данными. Кроме этого, у нас есть View - редактор и и есть ViewModel - этот объект должен знать структуру объекта с данными и должен знать, что будет отображать редактор.

Т.е. никаких сюрпризов тут нет и быть не может. View точно знает какие данные он может отобразить (т.е. работает с заранее известным интерфейсом ViewModel). ViewModel в свою очередь точно знает модель и интерфейсы всех отображаемых данных.

Так в чем проблема-то? :)

#28 
  moose коренной житель13.03.20 21:13
NEW 13.03.20 21:13 
в ответ Программист 13.03.20 14:03
Тут не совсем понятно, что тогда такое IEditor. Я думал, что это

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

#29 
Программист коренной житель16.03.20 10:47
NEW 16.03.20 10:47 
в ответ moose 13.03.20 21:13
а мне также совсем непонятно, как вам хоть что-то понятно. вы привыкли выполнять задачи на основании догадочной документации?

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

В худшем случае у меня происходит так: шеф 2-3-4 месяца переписывается с клиентом, потом приходит с километровой простыней е-мылов и спрашивает "сколько на это надо времени", потом опять пауза на пару месяцев, потом приходит за неделю до дедлайна и говорит, что надо оставить все задачи и пилить новую фичу. Постит при этом ту самую километровую простыню е-мылов типа там есть вся информация :D

#30 
  moose коренной житель16.03.20 14:53
NEW 16.03.20 14:53 
в ответ Программист 16.03.20 10:47

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

#31 
Программист коренной житель16.03.20 16:08
NEW 16.03.20 16:08 
в ответ moose 16.03.20 14:53

Проблема в том, что когда я получаю задание, то дедлайн уже "вчера".

Ну и подписывать мне не с кем, я с клиентами на прямую не общаюсь. Так что обсуждать могу только с шефом. А давать что-то на подпись шефу - это уже перебор :) Если мне что-то не понятно, то задаю вопрос в емыле и все.

#32 
  moose коренной житель16.03.20 18:07
16.03.20 18:07 
в ответ Программист 16.03.20 16:08

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

#33 
  moose коренной житель16.03.20 21:05
NEW 16.03.20 21:05 
в ответ moose 16.03.20 18:07, Последний раз изменено 16.03.20 21:06 (moose)

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


гешефтсидея: вынудить ИИ из потока имэйлов шефа выстроить несколькостраничное техзадание. вот только как их удобнее разделить от чтения/записи и отображения ; )

#34 
Программист коренной житель17.03.20 08:32
NEW 17.03.20 08:32 
в ответ moose 16.03.20 18:07

Я делаю проще :) Забиваю на штудирование е-мылов и просто все вопросы выясняю у шефа :) Если он ленится сразу сделать выжимку, то пусть делает ее постепенно :D

#35 
  moose коренной житель17.03.20 23:21
NEW 17.03.20 23:21 
в ответ Программист 17.03.20 08:32

имею отрицательный опыт в этом плане. руководитель проекта как-то получил свежее техзадание на очередной проект (крупная фича), и говорит, что я, мол, доку на сервер выложил, но чтоб тебе не читать и не морочить голову, я тебе сейчас за 5 минут все обрисую. и обрисовал. выглядело вполне плаузибельно. я и сваял на первый тест нечто, что он описал. оказалось, что одну "мелкую деталь" он то ли опустил, то ли неправильно изложил, как я узнал, прочтя таки все техзадание от корки до корки, но пришлось переделывать, ставить заплатки и пр. с тех пор ВСЕГДА хочу начать с того, что ознакомлюсь с документом. в дальнейшем этот же руководитель проекта вел себя точно также, я его вежливо дослушивал до конца, благодарил, но, выйдя от него, шел читать техзадание. и НИ РАЗУ не пожалел. если бы было нечего читать, я бы начал с того, что сам бы хотя бы пару страниц написал. хотя бы в виде перечня каких-то утверждений. что должно быть, и чего не должно. и держал бы актуальным. а документация в виде шефа - это ненадежно. дай ему бог здоровья, но сегодня это особенно актуально.

#36 
AlexNek патриот17.03.20 23:23
AlexNek
NEW 17.03.20 23:23 
в ответ moose 16.03.20 21:05
что алекс исчез

сорри, пока не до "конфеток".

#37 
1 2 все