Discussão do artigo "Interfaces Gráficas VI: Os Controles Deslizante e Deslizante Duplo (Capítulo 2)"
Estou interessado em seus comentários e sugestões.
Preciso de um esclarecimento.
- Como você separa o conceito de janela principal e janela de configurações?
- Que recursos você sugere adicionar à implementação atual da janela para que ela possa ser chamada de "principal"?
Quanto aos exemplos apresentados nos artigos, meu objetivo era mostrar como os elementos funcionam em diferentes combinações. É apenas uma maneira de demonstrar a natureza não conflitante de diferentes tipos de elementos. Isso é especialmente verdadeiro para elementos suspensos e elementos que usam barras de rolagem.
...
Se você tornar a janela principal do aplicativo composta, dará a todos os desenvolvedores a oportunidade de escolher o conteúdo "principal" para ela. Na minha opinião, a "capacidade de composição " é o recurso distintivo da janela "principal" do aplicativo.
De qualquer forma, acho que você deve procurar desenvolver os recursos de suas janelas.
É o que penso. A estrutura atual da biblioteca permite implementar essa funcionalidade. Mas, antes de começarmos a implementá-la, precisamos resolver vários outros problemas para torná-la bastante bonita. Estou vendo várias opções. Ainda não sei qual delas usarei, pois preciso realizar vários experimentos e testes para escolher a que consome menos recursos.
Farei isso depois que os artigos planejados da série atual forem publicados. Restam os mais complexos e interessantes do ponto de vista dos controles de desenvolvimento.
Em geral, não prometo fazer isso rapidamente, porque, além disso, também planejei otimizar o código na versão atual e fazer algumas adições e correções, o que deve reduzir significativamente o consumo de recursos. E também há um ponto em que, ao falar sobre otimização e tentativas de reduzir o consumo de recursos, ainda não se sabe se você conseguirá obter algum ganho no final. Acontece que você pode gastar muito tempo e, quando chegar à linha de chegada, verá que não valeu de nada. Mas isso não me assusta. Se você não tentar, não saberá. ;)
No entanto, uma maneira muito interessante de colocar a questão.... Pessoalmente, nunca me ocorreu que a otimização e a redução do consumo de recursos pudessem ser desnecessárias e até mesmo prejudiciais, e que, na "linha de chegada", não fossem úteis. Você me deixou perplexo.... Certamente é possível discutir ou argumentar sobre esse tópico, mas é improvável que eu encontre argumentos suficientes, pois nunca analisei a questão por esse lado.
...
Não é minha opinião que "otimizar e reduzir o consumo de recursos pode ser desnecessário e até prejudicial". No meu caso, a otimização precisa ser feita e com certeza haverá um ganho. Simplesmente farei isso e, se houver um resultado, escreverei um artigo sobre isso. No momento, simplesmente não há tempo suficiente para elaborar o assunto.
Por exemplo: por que passar variáveis para funções se você pode torná-las visíveis em nível global? Por que conectar classes quando você pode conectar arquivos de funções? Os arquivos não exigem um sistema complexo de interconexão de funções,criação de objetos de classe para acessar funções e variáveis. Por que uma confusão colossal de regras e várias sintaxes, que desviam a atenção da essência do problema que está sendo resolvido e confundem?
Tente fazer a mesma coisa, mas sem OOP. Para que tudo funcione exatamente assim. Tentei fazer isso primeiro e cheguei à conclusão de que, sem a OOP, é muito difícil fazer um projeto desse tipo, mesmo que você o faça apenas para si mesmo. Agora consigo navegar nessa estrutura com muita facilidade. Tudo está organizado e em seu devido lugar. Há acesso a todos os objetos e elementos da biblioteca. Eles não se sobrepõem uns aos outros e são acessados somente onde podem, cada um tem seu próprio tipo e nome. Posso ver onde posso refatorar, otimizar o código e alguns algoritmos, reduzir o consumo de recursos.
Todos podem contribuir não apenas com sugestões, mas também com métodos de solução de alguns problemas, se perceberem e souberem como. Já recebi muitas sugestões em particular de diferentes usuários sobre o que e onde corrigir. No fórum em inglês, também foram apontados alguns erros de design relacionados a essa biblioteca. Já conheço pelo menos quatro fatores que aumentam o consumo de recursos. Alguns obviamente consomem desnecessariamente e eliminá-los provavelmente produzirá resultados. Mas, por enquanto, tudo isso é apenas teoria. De qualquer forma, precisamos fazer, executar testes e só depois disso poderemos dizer se há algum ganho ou não.
De qualquer forma, considero inúteis as discussões sobre quais métodos de programação são melhores e quais são piores. Sua experiência pode lhe dizer uma coisa, e outra pessoa pode dizer exatamente o contrário. A vida é infinitamente diversa em sua variedade. ;)
Mas a ordem em si não está vinculada a um método específico de sua implementação. Se você criar uma ordem em um programa dividindo a funcionalidade por classes, deve saber que a mesma ordem pode ser repetida dividindo a funcionalidade por arquivos.
Ordem - sim, mas acesso e operação de muitos objetos de tipos diferentes - não. Na minha opinião, isso é muito mais fácil na OOP.
Se você criar uma enumeração ou estrutura AS THESE, elas não precisarão ser feitas de acordo com as regras de POO e com a sintaxe de POO. Você pode simplesmente comentar a linha e escrever "Estrutura A. Lista de elementos:" e o acesso às variáveis será simplificado. A OOP não ajuda a ordenar nada, mas apenas oferece um padrão unificado para escrever um esquema de ordenação pronto.
Por quê? Porque você pode criar uma estrutura completa de uma só vez e depois fazer malabarismos com tudo isso declarando suas instâncias, matrizes e até matrizes de matrizes de instâncias. Você pode fazer isso sem OOP, mas, na minha opinião, OOP é mais conveniente.
E como o acesso às variáveis será simplificado se elas estiverem fora de uma estrutura ou classe? Pelo contrário, é o esquema bem pensado de ordem na OOP que ajuda a organizar tudo e a simplificar o acesso às variáveis que podem ser acessadas e àquelas que não podem ser acessadas - para fechá-las completamente.
Não posso discutir com você aqui. Como a OOP é geralmente aceita, o desenvolvimento de sua biblioteca pode ser facilmente adotado por outros programadores. Desejo que isso aconteça. :)
É para isso que tudo isso foi iniciado. Uma cabeça é boa, mas não é suficiente. ;)
O que é para você, se não é segredo?
Pergunte ao universo. Somos apenas ferramentas em suas mãos. ;)
Vaidade?
Não. Satisfação. Mas não por vaidade. Não sei por quê. Talvez por ter diminuído parcialmente o enxame de ideias e tarefas não realizadas em minha cabeça. E também o fato de escrever artigos me motiva, pois a responsabilidade é maior. Aprimorei significativamente o código dessa biblioteca, que originalmente escrevi para mim mesmo. E isso está longe de ser o limite.
Além disso, pagar por artigos é, no mínimo, uma pequena compensação pelo tempo gasto.
Os usuários são, em sua maioria, preguiçosos e valorizam muito mais os produtos acabados do que os kits de ferramentas com instruções ou materiais de construção para fabricá-los. Se forem forçados, eles usarão sua biblioteca, mas se tiverem a oportunidade de reduzir o esforço e criar uma interface sem escrever código, infelizmente esquecerão rapidamente sua bela biblioteca. Essa será a traição que a sociedade sempre submete às pessoas honestas e nobres que se dedicam desinteressadamente a ela.
Talvez a maioria delas o faça, mas não todas. É com elas que eu compartilho. Assim como elas compartilham com os outros.
A propósito, estou pensando em criar um estúdio visual para criar interfaces gráficas também. Ele será criado com a ajuda dessa biblioteca. Quero fazer algo parecido com o que é feito no Microsoft Visual Studio. E talvez ainda melhor. O tempo dirá. Como sempre, tudo começa com pequenos experimentos. Nem mesmo eu sei o que vou conseguir no final. )
Parece-me que a comunidade está pronta para uma revolução na prática de criação de programas de negociação, e você quer fornecer outra "atualização". Entretanto, com tudo isso, desejo-lhe boa sorte. :)
É claro que sim! É por isso que decidi publicar tudo isso. Para corrigir e avançar ainda mais nessa direção. ;)
Que ambição e que otimismo!!! Igualzinho ao meu...))))))
Você poderia esclarecer a quem está dirigindo seu apelo - somente a mim ou a mim e ao Anatoly?
Se for para mim, recentemente demonstrei os recursos básicos de minhas janelas, barras de rolagem, tabela e efeitos especiais.
Para você, é claro. Você quer competir com as fontes bem comentadas de Anatoly com seus vídeos? Em que categoria? )
Para avaliar o programa, você precisa de pelo menos uma versão de demonstração. É uma interface, você precisa senti-la.
Por isso, peço que você pare de falar sobre o "concorrente assustador" e passe para a demonstração ;)
... Pergunte ao Anatoly se ele me considera um concorrente. Deixe que ele mesmo lhe diga. :)
Não, eu não o considero um concorrente. Trabalho em um formato diferente e não temos nenhum tipo de sobreposição. E também não quero participar da corrida. Trabalharei em meu ritmo normal.
Publico material de minha parte somente depois de atingir uma qualidade mais ou menos aceitável, em minha opinião.
A propósito, o próximo artigo a ser publicado é: Interfaces gráficas VII: Elementos de "Tabelas" (Capítulo 1). Ele apresentará até três classes de tabelas. ;)
Eu estava esperando por uma pequena competição! :) Que pena. Ah, bem. Percebi que a comunidade tem um espírito competitivo fraco. Quando perguntei sobre a competição no mercado, disseram que não havia nenhuma, quando tentei apoiar a iniciativa de outra pessoa de realizar o campeonato, então os participantes quase não são encontrados.... Chato como é...;) Bem, tudo bem.
Com certeza darei uma olhada em artigos futuros. Boa sorte. :)
Vamos competir em qualidade e funcionalidade.
Além disso, já publiquei 18 artigos. São 18 jogadas. Não, 18 gols que você marcou. E você ainda não fez nenhum. Eu lhe prometo pelo menos mais 7. Não é muito interessante quando se trata de um jogo de um gol só. ;)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Interfaces Gráficas VI: Os Controles Deslizante e Deslizante Duplo (Capítulo 2) foi publicado:
No artigo anterior, nós enriquecemos a nossa biblioteca com quatro controles que são frequentemente usados nas interfaces gráficas: caixa de seleção, campo de edição, campo de edição com caixa de seleção e a lista combinada com a caixa de seleção. O segundo capítulo da sexta parte será dedicado aos controles deslizante e deslizante duplo.
Este elemento será composto por seis objetos gráficos. Eles são:
Fig. 1. Partes integrantes do controle deslizante.
Autor: Anatoli Kazharski