Структурирование задачи программирования

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

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

Сотрудничество

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

Чистый размер усилия и числа людей, работающего над тем же проектом одновременно в том же месте, может мешать возможности группы работать согласованно к общей цели. Кроме того, сотрудничеству часто препятствуют барьеры времени, пространства и организации:

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

Это - то, где методы объектно-ориентированного программирования могут помочь. Например, возможность многократного использования объектно-ориентированного кода означает, что программисты могут сотрудничать эффективно, даже когда они работают над различными проектами в разное время или находятся в различных организациях, только путем совместного использования их кода в библиотеках. Этот вид сотрудничества открывает большую перспективу, поскольку это может очевидно осветить трудные задачи и сделать на вид невозможные проекты достижимыми.

Организация объектно-ориентированных проектов

Объектно-ориентированное программирование помогает реструктурировать задачу программирования способами, приносящими преимущества сотрудничеству. Это помогает избавить от необходимости сотрудничать на низкоуровневых подробных данных реализации при обеспечении структур, упрощающих сотрудничество в более высоком уровне. Почти каждая функция объектной модели, от возможности крупномасштабного проекта к увеличенной возможности многократного использования кода, имеет последствия для способа, которым сотрудничают люди.

Разработка в крупном масштабе

Когда программы разработаны на высоком уровне абстракции, разделение труда более легко задумано. Это может соответствовать подразделение программы на логических строках; путем проект организован, может расти из его проекта.

С объектно-ориентированным проектом проще сохранить общие цели в поле зрения, вместо того, чтобы терять их в реализации, и проще для всех видеть, как часть, они продолжают работать, вписывается в целое. Их совместные усилия, поэтому более вероятно, будут на цели.

Разделение интерфейса от реализации

Соединения между различными компонентами объектно-ориентированной программы разработаны рано в процессе проектирования. Они могут быть четко определены, по крайней мере для начальной фазы разработки, прежде чем начнется реализация.

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

Деление работы в модули

Модульный принцип объектно-ориентированного программирования означает, что логические компоненты большой программы могут каждый быть реализованы отдельно. Различные люди могут работать над различными классами. Каждая задача реализации изолируется от других.

Модульный принцип обладает преимуществами, не только для организации реализации, но и для решения проблем позже. Поскольку реализации содержатся в границах класса, подходящие проблемы, вероятно, будут, также изолированы. Проще разыскать ошибки, когда они расположены в четко определенной части программы.

Разделение ответственности классом также означает, что каждая часть может работаться на специалистами. Классы могут быть обновлены периодически, чтобы оптимизировать их производительность и использовать лучшую из новых технологий. Эти обновления не должны быть скоординированы с другими частями программы. Пока интерфейс к объекту не изменяется, улучшения его реализации могут быть запланированы в любое время.

Хранение простого интерфейса

Полиморфизм объектно-ориентированных программ приводит к более простым интерфейсам программирования, так как те же имена и соглашения могут быть снова использованы в любом числе классов. Результат меньше для изучения, большее совместно используемое понимание того, как целая система работает, и более простой путь к сотрудничеству и сотрудничеству.

Принятие решений динамично

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

Наследование универсального кода

Наследование является способом снова использовать код. Если можно определить классы как специализации большего количества универсальных классов, задача программирования упрощена. Проект упрощен также, так как иерархия наследования размечает отношения между разными уровнями реализации и делает их проще понять.

Наследование также увеличивает возможность многократного использования и надежность кода. Код, помещенный в суперкласс, тестируется его подклассами. Универсальный класс, который Вы находите в библиотеке, будет протестирован другими подклассами, записанными другими разработчиками для других приложений.

Многократное использование протестированного кода

Чем больше программного обеспечения можно занять от других и соединиться в собственные программы, тем меньше необходимо сделать себя. Существует больше программного обеспечения для заимствования в среде объектно-ориентированного программирования, потому что код является более допускающим повторное использование. В то время как нагрузка каждого проекта упрощена, сотрудничество между программистами, работающими в различных местах на различные организации, улучшено.

Классы и платформы от объектно-ориентированной библиотеки могут сделать существенные вклады в Вашу программу. Когда Вы программируете с основами программного обеспечения, служившими Apple, например, Вы эффективно сотрудничаете с программистами в Apple; Вы заключаете часть своей программы, часто существенная часть, им. Можно сконцентрироваться на том, что Вы прилагаете все усилия и оставляете другими задачами разработчику библиотеки. Ваши проекты могут быть смоделированы быстрее, завершены быстрее с меньшим количеством совместной проблемы в Вашем собственном сайте.

Увеличенная возможность многократного использования объектно-ориентированного кода также увеличивает свою надежность. Урок, посещаемый от библиотеки, вероятно, найдет свой путь во множество приложений и ситуаций. Чем больше код использовался, тем более вероятно случается так, что с проблемами встретятся и решат. Ошибки, которые казались бы странными и твердыми найти в Вашей программе, возможно, уже были разысканы и устранены.