Объектно-ориентированное программирование как идеология программирования и как технология. Достоинства и недостатки.

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

В языке С# (созданном компанией Microsoft для поддержки среды .NET Framework) проверенные временем средства усовершенствованы с помощью самых современных технологий. С# предоставляет очень удобный и эффективный способ написания программ для современной среды вычислительной обработки данных, которая включает операционную систему Windows, Internet, компоненты и пр. В процессе становления язык С# переопределил весь "ландшафт" программирования.

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

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

Технология ООП обладает следующими преимуществами:

a. использование при программировании понятий, близких к предметной области (повседневные объекты);

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

c. возможность многократного использования кода за счет наследования;

d. сравнительно простая возможность модификации программ;

e. возможность создания и использования библиотек объектов;

f. создание более эффективного кода, модификация и расширение возможностей уже имеющихся систем.

Эти преимущества особенно явно проявляются при разработке программ большого объема и классов программ.

Однако ничто не дается даром:

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

b.Кроме того, идеи ООП не просты для понимания и в особенности для практического применения.

c. Чтобы эффективно использовать готовые объекты из библиотек, необходимо освоить большой объем достаточно сложной информации.

d. Неграмотное же применение ООП способно привести к созданию излишне сложных программ, которые невозможно отлаживать и усовершенствовать.