Category: архитектура

Category was added automatically. Read all entries about "архитектура".

Об объектно-ориентированном программировании

«Объектно-ориентированное программирование» в том виде, как оно описывается в большинстве учебников,— это показуха. На самом деле ООП — это всего лишь языковые средства для так называемой «объектной архитектуры».

Хорошим примером будет старый добрый движок Doom. Написанный на чистом Си, он, тем не менее, стал неплохим примером объектного кода. В движке есть понятия «персонаж», «сектор» и «отрезок», отражённые в коде как mobj_t, sector_t и linedef_t.

Объект — это телевизор с разъёмами и кнопками. Телевизор можно включить, выключить, перенастроить. А что внутри телевизора — нас не интересует. Ну, есть ещё полиморфизм: если я заменю телевизор, новый будет действовать точно так же, как старый. Вот и весь принцип ООП.

А что же учебники? Учебные примеры вынуждены быть маленькими. А маленькую программу объектно писать не стоит. И я, когда классе этак в 10-м писал всякую мелочь, объектов не понимал. И второй дефект учебников: не поняв объектной архитектуры, ученик элементарно не понимает, на что сдались эти методы, простые и виртуальные.