Сразу вопрос: где открытый код?
Я выложу код и примеры. Это предисловие.
Я выложу код и примеры. Это предисловие.
Открытый код?
Во ! Давай, Петер, мне тоже интересен твой подход. Даже без всяких кодов (Владимир, не мешай человеку, давай сперва послушаем).
У меня чувство дежавю какое-то.
Но т.к. сейчас читать особо нечего, очередная тема от Петер вполне зайдет.
Женя, Вася, вот вы нетерпеливые... Дайте человеку высказаться !
Женя, Вася, вот вы нетерпеливые... Дайте человеку высказаться !
Не, ну почему нетерпеливые. Говорю же - вполне себе зайдет темка, хотя на этот разговор Петор пытается вывести наверное каждую полемику где он учавствует.
Пример объявления графического элемента, представленного в Ядре:
_OBJECTS_SET,BUTTON, //------------T------X----Y----W-----H----B_TYPE-- MOB---PXL-----------G------------C----SG--SC--OBJSCR--NEUTRAL----GRADIENT--A1--B1--C1-----------A2----B2--C2----------A3----B3--C3--------A4--B4--C4-------OBH--OBI--C5--D5--E5--------------------------------------------------------------------------------------------------------------ACT-STATUS--CURRENT-----CURRENT---LAST-------------------------------------------- //Основание кнопки-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _NEW_OBJECT, 5, 0, 0, 100, 25, _STRIP, _CNVS, 1, _aw1,BUTTON, 0,_MOB, 0, _aw1, C'245,245,245', FR_32, _C2C,_CNVS, 0, FR_33, _C2C,_CNVS, 0, FR_32, 0, 0, 0, A4, 0, 0, 0, A5,0, 0, 0, 0, 0, A6, 0, A7, 0, 0, 0, 0, 0, FR_32, FR_33, 0, 0, 0, 0, 0, 0, 0, 0, A8, 0, 0, 0, A9, CLICKED_RELEASED, C'230,230,230', 0, _C_PIXEL, _C_PIXEL, _C_PIXEL, _C_PIXEL, C'245,245,245', _PL_END, //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Лейбл кнопки-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _NEW_OBJECT, 5, 0, 0, 0, 0, _LABEL, _CNVS, 0, _aw3,BUTTON, _EL, 0, 0, _aw1, _NS_gr1, A1, _X2X, _aw1, 7, A2, _C2C, _aw1, 0, A3, 0, 0, 0, A4, 0, 0, 0, A5,0,0, _aw1, 0, 0, A6, 0, A7,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, A8, 0, 0, 0, A9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, _PL_END, //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Текст наименования кнопки -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _NEW_OBJECT, 5, 0, 0, 0, 0, _TEXT_, _CNVS, 0, _aw2,BUTTON,_OCN, 0, 0, _aw1, 0, A1, _C2C,_aw1, 0, A2, _C2C,_aw1, 0, A3, 0, 0, 0, A4, 0, 0, 0, A5,0, 0, 0, 0, 0, A6, 0, A7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, A8, Microsoft_JhengHei_Light, FW_NORMAL, 8, A9, 0, 0, 0, C'100,100,100', C'100,100,100', 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,1,1, 1,0, _PL_END, //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- _END_,
- Объявление Элемента: _OBJECTS_SET,BUTTON,
2. Объявление Объекта внутри Элемента - _NEW_OBJECT
Далее, после объявления Объекта идут значения свойств. Размеры, цвета для различных состояний, привязки объектов между собой...
Все это вместе представляет из себя прототип одного элемента - Кнопки.
Этот прототип записывается в Ядро на этапе построения. Потом, читается файл конструктора и поверх этих значений, записываются пользовательские значения.
Главное, - это форма представления Элемента и Объекта в моем подходе. Она - табличная. Это позволяет сжимать данные Объектов и умещать в малом пространстве массу свойств. Если это написать по Правилам ООП, это превратится в огромную портянку.
В ООП, отсутствует понятие "Ядра". ООП предлагает строить ансамбль из классов и структур, но не дает фактического центра программы...
ООП очень гибкая методология, поэтому в нем нет каких-либо априорных идей вроде понятия "ядра". Однако с помощью ООП очень хорошо можно построить модель ядра, о которой здесь ведется речь. Поэтому утверждение не совсем корректное.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В этой ветке, я хочу рассказать о своем подходе в программировании. Заранее предупреждаю, - здесь не будет обсуждений GUI. Если я и буду о нем говорить, то только в качестве примера работы своих решений.
На первых парах, ООП был мне понятен и даже близок. Я знал что такое "Объект", "Структура", "Класс" в философском контексте. Углубление программирования в философию мне очень нравилось и зажигало интерес. И я почти взялся за серьезное изучение... Но, в процессе я чувствовал нарастание сопротивления. Отторжение чужой философии. И это отторжение росло.
Я с детства привык мыслить философски. И в программировании я нашел философию. В какой то момент, она мне понравилась. Но, моя мысль неизменно, стремилась сломать чужую концепцию. Побороть ее. Для чего? - чтобы победить и установить свой порядок.
Испокон веков, философские концепции "воевали" друг с другом. И для меня, как прирожденного философа, концепция ООП стала личным вызовом.
Но, это всего лишь предистория.
И так, все началось почти 4 года назад.
Тогда, в простом процедурном стиле я создавал панели. И мне пришла идея, объединить свойства графических объектов в одном массиве. Я подумал, что это будет удобно. Для чего?
Так родилась идея "Ядра".
В ООП, отсутствует понятие "Ядра". ООП предлагает строить ансамбль из классов и структур, но не дает фактического центра программы. Только условный. Объекты в ООП, на самом деле являются ссылками. Средствами описания и ключами доступа. Связка классов напоминает сложную нецентрализованную сеть. ООП заточено на построении архитектуры программы. ТО ЕСТЬ, ПОСТРОЕНИЕ ПРАВИЛЬНОЙ АРХИТЕКТУРЫ ПРОГРАММЫ - ГЛАВНАЯ ЗАДАЧА ООП.
Мой подход, также имеет понятия Объекта. Однако, "Объект" в моем подходе, намного более вещественнен. Это сборка из свойств. При этом, мой подход игнорирует важность конкретной Архитектуры программы. Архитектура складывается в соотвествии с требованиями эффективности программы, а не удобства программиста. Это упрощает синтаксис и уменьшает количество правил.
В Природе понятие Ядра присутствует повсюду. Ядро есть в каждой клетке организма. Ядро есть у небесных тел. У Земли, Солнца. Ядро есть у плодов растений из которых появляются новые растения. И НИГДЕ в Природе, Архетиктура не поставлена выше Эффективности. Поэтому, Природа не создает прямых линий и живые существа не состоят из блоков. Но, человек слабее Природы и нуждается в запоминающихся схемах, расстановке, классификации. Человек воспринимает мир фрагментарно, и воспроизводит его тоже фрагментарно.
Концепция ООП очень хорошо отражает природу человека.
Но, вернемся к моему подходу:
На практике, - Ядро это матрица. Объект - вектор.
Матрица может содержать множество векторов. И это - граница основных правил моего подхода. Далее, я покажу примеры того, что с этим можно делать.