Страницы

Поиск по вопросам

понедельник, 23 декабря 2019 г.

Как изучать ОО проектирование? [закрыт]

#ооп #архитектура


        
             
                
                    
                        
                            Закрыт. На этот вопрос невозможно дать объективный ответ.
Ответы на него в данный момент не принимаются.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Update the question so it
can be answered with facts and citations by editing this post.
                        
                        Закрыт 3 года назад.
                                                                                
           
                
        
Здравствуйте участники форума!

Программирую на языке Java примерно полгода(да и в целом, наверное программирую столько
же), до этого немного затронул C# ну да не суть.   

Начинал изучение с: "Изучаем Java" от O REILLY, затем прочитал "Философию Java" Брюса
Эккеля (которая с трудом мне далась). После чего попробовал себя в мобильной разработке,
изучая книгу от O`REILLY  "Программирование для Android". Но проблема в том, что литература
дает техническое понимание языка, имеется ввиду что такое класс, что такое переменная,
коллекции. Данная литература не дает ясного понимания того, как я должен сконструировать
свои классы, какой класс содержит такие поля , какой такие, как сделать структуру классов
красивой, чтоб вся программа не состояла из одного класса в 3000 сток. 

К примеру возьмем декомпозицию игры в шашки. Как сконструировать должным образом
данную программу?  В моем понимании там должен быть класс Deck, класс самой шашки с
произвольным названием, класс Player. Но как сделать эти классы единым целым? Как наладить
отношение между объектами, как инкапсулировать логику, чтобы избавиться от повторяющегося
кода.

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

Так вот хотелось бы узнать, а как вы учились конструировать свою архитектуру программы ?
    


Ответы

Ответ 1



Для начала необходимо определиться с приоритетами (без сортировки. 1 пункт не важнее остальных) Выбрать парадигму/технологию. Много их. На слуху MVP, Reactive, functional style и т.д. Понять, что будет происходить с кодом после выпуска приложения - выпустили и забыли или постоянное развитие. Сколько людей будет задействовано в проекте. Если в одно жало, то это одно, если большая команда - совсем другое. Потом достать большой блокнот(А4 в самый раз) и нарисовать верхнеуровневую блок-схему своего приложения(lifehack карандаш и ластик рулят). Потом по каждому блоку свою небольшую схемку с подробностями реализации. Потом сжечь к чертям и начать заново. Сменить парадигму/технологию, если надо. Повторить 5 раз.

Комментариев нет:

Отправить комментарий