Как могут сосуществовать вместе эти два положения: отсутствие удобства для программиста и быстрое развитие программы? Как можно развивать программу быстро, если это делать неудобно?
Все дело в пропорциях. Неудобство при составлении массива прототипов - очевидно. Удобства прямого доступа к ядру из любой точки программы, использование фокуса элементов и другие вещи - ГОРАЗДО БОЛЬШЕ.
Короче, удобства в моем подходе гораздо больше, чем неудобства. Но, для этого им нужно научится владеть.
А как вы поступите если необходимо будет сделать не прямоугольную кнопку, а допустим круглую или треугольную?
Если использовать ООП то создается базовый класс Button в котором есть абстрактный метод Draf этот метод отвечает за рисование кнопки. Для круглой кнопки необходимо будет создать наследника от Button в котором достаточно будет переопределить метод Draf в котором реализовать рисование круглой кнопки. Для прямоугольной также достаточно создать наследника от Button и переопределить метод Draf для рисования уже прямоугольной кнопки.
Как все это будет выглядеть если использовать вашу методику?
В моем случае, все ГОРАЗДО проще.
1. Добавляю свойство-флаг в список свойств объектов.
2. Увеличиваю длинну ряда Ядра на 1 одну ячейку, которая будет зарезервирована для нового свойства.
3. Создаю ключевое слово, устанавливающее флаг в свойство окружности кнопки.
4. В блок Рисования добавляю механизм рисования окружности, вход в который будет после проверки флага окружности кнопки в Ядре.
Все дело в пропорциях. Неудобство при составлении массива прототипов - очевидно. Удобства прямого доступа к ядру из любой точки программы, использование фокуса элементов и другие вещи - ГОРАЗДО БОЛЬШЕ.
Короче, удобства в моем подходе гораздо больше, чем неудобства. Но, для этого им нужно научится владеть.
Сильно заблуждаетесь насчет удобства от доступа к глобальному массиву. Это он один сейчас, или несколько. А если в программе будет несколько подсистем написанных в подобном стиле, это будет караул, хаос и неразбериха.
Сильно заблуждаетесь насчет удобства от доступа к глобальному массиву. Это он один сейчас, или несколько. А если в программе будет несколько подсистем написанных в подобном стиле, это будет караул, хаос и неразбериха.
В программе есть несколько Ядер, которые используются только на этапе построения Главного Ядра. Глобальный доступ осуществляется только к главному ядру, и ядру параметров (ядро свойств параметров элементов управления).
В программе есть несколько Ядер, которые используются только на этапе построения Главного Ядра. Глобальный доступ осуществляется только к главному ядру, и ядру параметров.
Все вполне удобно. Я не жалуюсь.
А сколько у вас заказчиков и как быстро вы выполняете их доработки? Приходилось ли работать с чужими программами написанными в таком стиле?
А сколько у вас заказчиков и как быстро вы выполняете их доработки?
На данный момент, у меня один заказчик. Я очень быстро выполняю поставленные им задачи. 3-4 часа и новое, полностью функциональное окно готово. Вместе с интерфейсом подключения. Я также быстро исправляю баги движка и скидываю ему новые версии. 9 окон за несколько дней + изменения движка, исправление багов, добавление возможностей... Все очень быстро.
Ну ты же понимаешь, что одного тебя мало. Массовость твоего движка будет зависеть от того, понравится ли он другим программистам (тебя же одного на всех заказчиков не хватит). А если прогерамм не понравится, то... увы и ах, судьба твоего творения будет беславной.
Поймете, массив прототипов создается один раз. И потом, меняется ОЧЕНЬ редко. Только в случае серьезных переделок в программе.
А если надо динамически?!
Как могут сосуществовать вместе эти два положения: отсутствие удобства для программиста и быстрое развитие программы? Как можно развивать программу быстро, если это делать неудобно?
Все дело в пропорциях. Неудобство при составлении массива прототипов - очевидно. Удобства прямого доступа к ядру из любой точки программы, использование фокуса элементов и другие вещи - ГОРАЗДО БОЛЬШЕ.
Короче, удобства в моем подходе гораздо больше, чем неудобства. Но, для этого им нужно научится владеть.
А как вы поступите если необходимо будет сделать не прямоугольную кнопку, а допустим круглую или треугольную?
Если использовать ООП то создается базовый класс Button в котором есть абстрактный метод Draf этот метод отвечает за рисование кнопки. Для круглой кнопки необходимо будет создать наследника от Button в котором достаточно будет переопределить метод Draf в котором реализовать рисование круглой кнопки. Для прямоугольной также достаточно создать наследника от Button и переопределить метод Draf для рисования уже прямоугольной кнопки.
Как все это будет выглядеть если использовать вашу методику?
В моем случае, все ГОРАЗДО проще.
1. Добавляю свойство-флаг в список свойств объектов.
2. Увеличиваю длинну ряда Ядра на 1 одну ячейку, которая будет зарезервирована для нового свойства.
3. Создаю ключевое слово, устанавливающее флаг в свойство окружности кнопки.
4. В блок Рисования добавляю механизм рисования окружности, вход в который будет после проверки флага окружности кнопки в Ядре.
Все дело в пропорциях. Неудобство при составлении массива прототипов - очевидно. Удобства прямого доступа к ядру из любой точки программы, использование фокуса элементов и другие вещи - ГОРАЗДО БОЛЬШЕ.
Короче, удобства в моем подходе гораздо больше, чем неудобства. Но, для этого им нужно научится владеть.
Сильно заблуждаетесь насчет удобства от доступа к глобальному массиву. Это он один сейчас, или несколько. А если в программе будет несколько подсистем написанных в подобном стиле, это будет караул, хаос и неразбериха.
Сильно заблуждаетесь насчет удобства от доступа к глобальному массиву. Это он один сейчас, или несколько. А если в программе будет несколько подсистем написанных в подобном стиле, это будет караул, хаос и неразбериха.
В программе есть несколько Ядер, которые используются только на этапе построения Главного Ядра. Глобальный доступ осуществляется только к главному ядру, и ядру параметров (ядро свойств параметров элементов управления).
Все вполне удобно. Я не жалуюсь.
В программе есть несколько Ядер, которые используются только на этапе построения Главного Ядра. Глобальный доступ осуществляется только к главному ядру, и ядру параметров.
Все вполне удобно. Я не жалуюсь.
А сколько у вас заказчиков и как быстро вы выполняете их доработки? Приходилось ли работать с чужими программами написанными в таком стиле?
В моем случае, все ГОРАЗДО проще.
1. Добавляю свойство-флаг в список свойств объектов.
2. Увеличиваю длинну ряда Ядра на 1 одну ячейку, которая будет зарезервирована для нового свойства.
3. Создаю ключевое слово, устанавливающее флаг в свойство окружности кнопки.
4. В блок Рисования добавляю механизм рисования окружности, вход в который будет после проверки флага окружности кнопки в Ядре.
Когда вы начнете реально это делать, то вы потом запутаетесь во всех своих якобы "объектах".
И получается не проще. В вашем случае (как вы сами написали) надо проделать 4-ре действия. В моем примере с использованием ОПП только одно действие.
upd.
При этом надо еще и контролировать какой то флаг, что бы не перепутать что у тебя за кнопка круглая или квадратная.
А сколько у вас заказчиков и как быстро вы выполняете их доработки?
На данный момент, у меня один заказчик. Я очень быстро выполняю поставленные им задачи. 3-4 часа и новое, полностью функциональное окно готово. Вместе с интерфейсом подключения. Я также быстро исправляю баги движка и скидываю ему новые версии. 9 окон за несколько дней + изменения движка, исправление багов, добавление возможностей... Все очень быстро.
Все вполне удобно. Я не жалуюсь.
Ну ты же понимаешь, что одного тебя мало. Массовость твоего движка будет зависеть от того, понравится ли он другим программистам (тебя же одного на всех заказчиков не хватит). А если прогерамм не понравится, то... увы и ах, судьба твоего творения будет беславной.
Когда вы начнете реально это делать, то вы потом запутаетесь во всех своих якобы "объектах".
И получается не проще. В вашем случае (как вы сами написали) надо проделать 4-ре действия. В моем примере с использованием ОПП только одно действие.
upd.
При этом надо еще и контролировать какой то флаг, что бы не перепутать что у тебя за кнопка круглая или квадратная.
Я уже более года это реально делаю. И не путаюсь.))