С тех пор я изменил свою позицию в этом отношении.
Использование объектов в actionscript3 помогло мне улучшить модуляцию.
Я бы предположил, что, как и я, преимущества ООП являются сложными и труднодостижимыми для большинства начинающих разработчиков флэш-памяти.
Я думаю, что для этого есть две причины.
1.) Говорить об основах скучно, поэтому большая часть информации слишком сложна. ООП на самом деле просто разбивает систему на понятные для повторного использования части.
2.) Процедурное программирование аналогично рабочему процессу, оно блокирует вас в определенном рабочем процессе, но для начинающих программистов это облегчает понимание
3.) Многое из флэш-памяти связано с управлением состоянием виджета флэш-памяти, поэтому имеет смысл на некотором уровне управлять информацией из одного центрального места.
---------------- оригинальный ответ ----------------
Я являюсь частью сообщества AS, которое любит (и использует) синглтоны.
Я относительно новичок в программировании (профессионально 3 года на PHP / MySQL / Javascript / Actionscript).
Я думаю, что существует четкое различие между модульным программированием и классическим ООП на основе наследования классов.
Модульное программирование, которое, насколько я понимаю, является большой частью ООП, является чрезвычайно важной частью эффективного проектирования программ.
Все, что используется более одного раза, может быть перемещено в отдельную функцию. Группы операций, которые имеют сходные функциональные возможности или атрибуты, могут быть разделены на их общие части, а затем различные части, уникальные для их экземпляра.
Однако я считаю более эффективным делать это с помощью набора взаимосвязанных модулей
На мой взгляд, основная часть ООП наследования - это просто горячий воздух. Модули, взаимодействующие друг с другом, представляют собой гораздо более эффективный способ моделирования действий программы, чем 15 версий, в основном одно и то же.
Я делаю ядро и делаю модули для привязки к ядру, но никогда не допускаю, чтобы подобъект был расширением ядра. Я думаю, что расширение класса является громоздким и замедляет развитие, устраняя необходимую гибкость.
Одна из причин, которые я часто читал (и слышал за ООП на основе наследования), заключается в том, что он повышает читабельность и удобство обслуживания. Для меня все это означает, что программисты предпочитают использовать более легкую для них систему, чем эффективную для программы.
Я за то, что пишу настолько чистый и понятный код, насколько это возможно, но только до и после того момента, когда он препятствует творчеству и гибкости программы.
Я за ООП, но я предпочитаю подход синглтон, прототип или модуль.