OOA/OOP/OOD - где что?
На примере коммерческого предприятия:
OOA - Объектно-ориентированный анализ.
Менеджер привел заказчика. Заказчик хочет сферического коня в вакууме. Руководитель берет тимлида, ведущего программиста и все трое со всех сил стараются понять, чего же он хочет. Далее уже без заказчика гл. программист сидит и доооолго думает, что это будет за зверь, как же этот конь будет выглядеть, какие части (не путать с калассами) будут в проекте.
После выделения частей коня решено, что он будет состоят из трех частей: сервер-служба, гуй-клиент-настройщик, веб-морда.
OOD - Объектно-ориентированный дизайн.
Тимлиду поручено сделать сервер и он начинает думать в сторону того, как будет устроен сервер, рисует одному ему понятные стрелочки и продумывает очень иерархию частей этого сервера и их взаимодействие.
OOP - Объектно-ориентированное программирование.
Сижу я. Решаю, что "ConectionPool <>------ ClientProcessor" (агрегирование), при этом ClientProcessor будет наследником того-то и того-то... Рисую UML, показываю тимлиду. Кивает - делаю.
PS. Вопрос задаю потому, что думаю, чего из умных букв писать в резюме. К примеру, OOA писать пожалуй не буду, поскольку превращать коней во что-то понимаемое программистом я не умею.
PPS.
Цитата:
PS. Вопрос задаю потому, что
- это лишь комментарий. Вопрос к форумчанам в самом начале поста.
Цитата: KPI Student
где добавить знаний в мою голову, и нужно ли это вообще делать :)
Теория. Гради Буч. Объектно-ориентированный анализ и проектирование.
В этой книге есть определения ООА, ООД, ООП. Краткое определение трудно воспринимается в отрыве от книги:
Цитата:
Объектно-ориентированный анализ - это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области.
Объектно-ориентированное проектирование - это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы.
Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Объектно-ориентированное проектирование - это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы.
Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Хотя и с книгой тоже в голове плохо задерживается.
Практика. Крэг Ларман. Применение UML 2.0 и шаблонов проектирования.
Эта книжка более свежая и мне больше нравится.