Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (27)

Лучшие ответы пользователя

Все ответы (40)
  • Как проектировать приложение с нуля?

    @ddd329
    Я бы посоветовал книгу Крэга Лармана "Применение UML 2.0 и шаблонов проектирования".
    Ну а так можно начинать проектировать простые приложения с Базы Данных, думаю для начинающих это проще и эффективнее. Можно конечно посоветовать почитать Эрика Эванса про его методологию DDD (Domain Driven Design - проектирование на основе предметной области), но думаю мозг сломаешь и на ранних этапах от нее пользы точно не будет.
    Что касается проектирования UI, то здесь могу посоветовать паттерн MVP (Model-View-Presenter).

    А то, что прочитанный вами материал неполный, то интересно как вы это определили? Спросили у экспертов?
    Вообщем в книге Крэга Лармана много чего есть, сначала следует начать с нее.
    Ответ написан
  • Можно ли параллельно с чтением книги по Си читать про архитектуру ЭВМ?

    @ddd329
    Лично я читаю по 4 книги параллельно. Например, с утра одну, а вечером другую. Через пару дней меняю книги, и нормально все усваивается.
    На вашем месте я бы читал параллельно. Язык Си довольно низкоуровневый, поэтому понимание архитектуры компьютера очень даже необходимо при его изучении.
    Да и в школе все так учатся! Нет же такого, что сначала прошли математику, а после физику, а после...
    А вообще сам попробуй, да поймешь стоит или не стоит тебе этого делать, думаю мало кто сможет дать дельный совет, т.к. многие вообще книг не читают, а только Хабр!
    Ответ написан
  • Проектирование структуры приложений для начинающего?

    @ddd329
    Могу дать такие советы, как вижу это я.

    Разделить приложение на три уровня:
    1) Presentation - уровень представления, при помощи которого пользователь взаимодействует с приложением;
    2) Business Logic - слой бизнес-логики;
    3) Persistence - слой где хранятся данные, но обычно это реляционная БД.

    Если это настольное приложение, то слой Presentation разбей на три компонента согласно паттерну MVP (Model-View-Presenter), если это классическое веб-приложение, то паттерну MVC (Model-View-Controller).

    Слой бизнес-логики реализуй согласно паттерну Transaction Script, ну либо паттерну Модель предметной области, где для начала будет анемичная модель (anemic model), которая полностью совпадает со схемой БД, а логику храни в сервисах. Далее когда наберешься скиллов, то можешь пробовать из анемичной модели предметной области сделать богатую (rich model), для этого можешь обратить внимание на методологию DDD (Domain-Driven-Design).

    Ну и слой хранения, тут пока тупо через средства ORM...

    Ну примерно так, ничего нового и волшебного тут нету.
    Ответ написан
  • Книги и ресурсы по ООП?

    @ddd329
    Если можно, то отвечу чего точно не стоит смотреть/читать, так это то, когда начинают говорить что-то наподобие такого:
    Ну вот представьте что у вас есть кошечка и собачка. Кошечка мяукает, а собачка лает, т.е. они все умеют говорить, но каждый по-своему. Кошечка и собачка это животное, значит выделим базовый класс Animal...

    Да и вообще, когда говорят, что ООП моделирует реальный мир... Бегите сразу от таких преподователей...
    Ответ написан
  • Как спроектировать проверку?

    @ddd329
    Привет! Ну если вопрос касается проектирования, то тут сразу бросается в глаза понятие Service. В предметной области его желательно не использовать, т.к. данный термин очень перегруженный и имеет много понятий в программировании. Я видел в одном проекте его заменили на Product, но ладно не суть...
    Паттерн "Спецификация" я думаю тут не особо уместен. Можно сделать так, что каждый Сотрудник содержит в себе поле со списком Документов, и для того чтобы выяснить может ли сотрудник оказывать услугу, то можно примерно так:
    if (employee.СanProvideService(service)) ...
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (6)