Mi enfoque. El núcleo es el motor. - página 15

 
Реter Konow:

Verás que se crea un array de prototipos una vez. Y luego, se cambia MUY raramente. Sólo en caso de modificaciones graves en el programa.

¿Y qué pasa si quieres hacerlo de forma dinámica?

 
Dmitry Fedoseev:

¿Cómo pueden coexistir estas dos disposiciones: la falta de comodidad para el programador y el rápido desarrollo del programa? ¿Cómo se puede desarrollar un programa con rapidez si no es conveniente hacerlo?

Todo es cuestión de proporciones. El inconveniente de hacer una serie de prototipos es evidente. La comodidad del acceso directo al núcleo desde cualquier parte del programa, el uso del foco del elemento y otras cosas es ENORME.

En resumen, mi enfoque es mucho más conveniente que inconveniente. Pero, para eso, hay que aprender a ser dueño de ello.

 
Vitalii Ananev:

¿Y cómo hará si es necesario hacer no un botón rectangular, sino, por ejemplo, uno circular o triangular?

Si utilizas OOP, tienes que crear una clase base Button, que tiene un método abstracto Draf, responsable de dibujar los botones. Para un botón redondo, tendrá que crear un heredero de Button, que será suficiente para anular el método Draf, que implementará el dibujo del botón redondo. Para un botón rectangular, también bastará con crear un heredero de Button y anular el método Draf para dibujar un botón rectangular.

¿Cómo se vería todo si se utiliza su método?

En mi caso, es MUCHO más sencillo.

1. Agrego una propiedad de bandera a la lista de propiedades del objeto.

2. Aumento la longitud de la fila del Núcleo en 1 celda, que se reservará para la nueva propiedad.

3. Creo una palabra clave que establece una bandera en la propiedad círculo del botón.

4. Agrego un mecanismo de dibujo de círculos al bloque Dibujo, que se introducirá después de comprobar la bandera de círculo del botón en el Kernel.

 
Реter Konow:

Todo es cuestión de proporciones. El inconveniente de reunir una matriz de prototipos es evidente. La comodidad de acceder directamente al núcleo desde cualquier parte del programa, utilizando el enfoque de los elementos y otras cosas es MUCHO más.

En resumen, mi enfoque es mucho más conveniente que inconveniente. Pero, para ello, hay que aprender a poseerlo.

Estás muy equivocado sobre la conveniencia de acceder a un array global. Ahora es uno, o varios. Y si en un programa hay varios subsistemas escritos en este estilo, será un lío, un caos y una confusión.

 
Dmitry Fedoseev:

Estás muy equivocado sobre la conveniencia de acceder a un array global. Ahora es uno, o varios. Y si hay varios subsistemas escritos en este estilo en el programa, será un lío, un caos y una confusión.

Hay varios núcleos en el programa, que sólo se utilizan durante la fase de construcción de los núcleos principales. Sólo el Núcleo Principal, y el Núcleo de Parámetros (el núcleo de propiedades de los parámetros de control) son globalmente accesibles.

Todo está muy a mano. No tengo ninguna queja.

 
Реter Konow:

Hay varios núcleos en el programa, que sólo se utilizan durante la fase de construcción del núcleo principal. Sólo el núcleo principal y el núcleo de parámetros son accesibles globalmente.

Todo está muy a mano. No me quejo.

¿Y cuántos clientes tiene y con qué rapidez hace sus revisiones? ¿Ha trabajado alguna vez con programas de otras personas escritos en este estilo?

 
Реter Konow:

En mi caso, es MUCHO más sencillo.

1. Agrego una propiedad de bandera a la lista de propiedades del objeto.

2. Aumento la longitud de la fila del Núcleo en 1 sola celda, que se reservará para la nueva propiedad.

3. Creo una palabra clave que establece una bandera en la propiedad círculo del botón.

4. Agrego un mecanismo de dibujo de círculos al bloque Draw, que se introducirá después de comprobar la bandera de círculo del botón en el Kernel.

Cuando empieces a hacerlo de verdad, te confundirás con todos tus supuestos "objetos".

Y no es más fácil. En tu caso (como tú mismo has escrito) tienes que hacer 4 pasos. En mi ejemplo usando SRF, sólo hay una acción.

actual.

Al mismo tiempo, también hay que controlar alguna bandera, para no confundir si el botón es redondo o cuadrado.

 
Dmitry Fedoseev:

¿Cuántos clientes tiene y con qué rapidez completa sus revisiones?

Por el momento, tengo un cliente. Completo sus tareas muy rápidamente. 3-4 horas y una nueva ventana totalmente funcional está lista. Junto con la interfaz de conexión. También corrijo rápidamente los errores del motor y le envío nuevas versiones. 9 ventanas en pocos días + cambios en el motor, corrección de errores, adición de funciones... Todo muy rápido.

 
Реter Konow:

Todo es bastante cómodo. No me quejo.

Bueno, entiendes que tú solo no eres suficiente. La masividad de su motor dependerá de que guste a otros programadores (usted solo no es suficiente para todos los clientes). Y si a los progermas no les gusta, entonces... ay y ah, el destino de tu creación será glorioso.

 
Vitalii Ananev:

Cuando empiezas a hacer esto de verdad, entonces te confundes con todos tus supuestos "objetos".

Y no es más fácil. En tu caso (como tú mismo has escrito), tienes que hacer 4 acciones. En mi ejemplo usando RPF, sólo hay una acción.

actual.

Al mismo tiempo también tienes que controlar alguna bandera, para no confundir que tu botón sea redondo o cuadrado.

En realidad, llevo más de un año haciendo esto. Y no me confundo)).