Ok, valeu, vou tentar compilar, valeu...

Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br


  ----- Original Message ----- 
  From: Joao Morais 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, December 04, 2006 12:01 PM
  Subject: Re: RES: [delphi-br] Re: Usar ou não usar DBWares? Eis a questão!


  Luiz Escobar wrote:

  >> - É o mesmo botãozinho em cada componente. E se for um 
  >> TDBSpeedButtonLookupComboBox, tem que dizer qual é o formulário alvo em 
  >> cada formulário criado. Se não quiser dizer qual é o form, tem que ser MVP.
  > 
  > Mas João, como em MVP ele sabe que eu quero cadastrar e qual é o FORM, 
indiretamente eu estou informando não é ?? vejamos:
  > 
  > procedure buttonclick(...)
  > form1.showMODAL;
  > 
  > procedure buttonclick(...)
  > cliente := TCLIENTE.nãolembrootermo(ID); 

  Você não precisa disso. O registro de Presenter faz isso por você. Então 
  se você tem um combo e liga a um Nota.Cliente, ele sabe que isso aponta 
  para TCliente, sabe que vai usar o form TClienteEditViewForm, ele sabe 
  instanciar o form, destruir, gravar os dados do Cliente em TCliente e 
  depois gravar o ID do cliente em TNota. Depois nesse combo você pode 
  digitar um pedaço do nome do cliente e o Combo é aberto com os clientes 
  que possuem aquele critério. Novamente, sem código algum. Tudo o que 
  tens que fazer é criar as classes (Wizard, pois sem ele é bem phodha), 
  registrar, e por fim ligar o Combo ao atributo da classe (uma linha de 
  código que chama um método com três parâmetros).

  Tá certo, você precisa registrar algumas coisas, e no lugar certo. E se 
  você quiser criar umas funcionalidades diferentes, tem que ser no lugar 
  certo também, mas tudo isso resolve-se com Wizards, sem código nenhum -- 
  exceto o seu próprio código, lógico, MVP não faz milagre. Você precisa 
  pelo menos saber o que quer :-) E lógico, ainda falta implementar os 
  raios dos Wizards.

  > sempre penso em como fazer o software ser mais produtivo para o USUÁRIO 
também,
  > se as telas começarem a demorar d+ para serem apresentadas, to fora... 

  Depende da persistência. InstantObjects tem uns perrengues (lentidão) 
  quando você tem objetos muito complexos. Mas como te disse - uma que a 
  equipe está trabalhando nesse perrengue, outra que eu posso escrever um 
  broker para tiOPF, DePO ou qualquer outro. Outra ainda é que eu tenho 
  intenção de criar um framework de persistência próprio.

  Ainda assim, mesmo com InstantObjects, não é nada de arrancar os 
  cabelos. Tenho um projeto com quatro níveis de mestre-detalhe, e as 
  telas apesar de não serem apresentadas instantaneamente, levam uma 
  pequena fração de segundos para aparecer quando o objeto ainda tá no 
  banco. Se o objeto tá em cache, a apresentação é instantânea, 
  independente do tamanho do form.

  Quanto ao produtivo para o usuário, aqui sim está a vantagem. Você cria 
  novas funcionalidades em quaisquer componentes, como Combo, StringList, 
  ou mesmo Edit, registra o Model no framework e a funcionalidade é 
  replicada para todo o teu sistema. Se você quiser, agora, usar um 
  ListView para apresentar dados (o framework *ainda* não o suporta), 
  basta você registrar uma View que entenda ListView e pimba, tá lá o 
  ListView mostrando os teus objetos de negócio. Você não precisa que o 
  desenvolvedor do framework faça isso por você, nem mesmo se o código 
  fosse fechado. Assim você usa uma ferramenta que não te prende a apenas 
  um padrão, um banco, um componente, uma funcionalidade. Veja MVP.txt nos 
  docs aonde eu falo mais ou menos isso com outras palavras.

  > E que ASSEMBLY tem haver com isso...
  > Quanto a arrastar componentes, bom se alguem trabalhar em DELPHI e não 
fizer isso, bom, deve ser um MASOQUISTA!
  > O fato de eu, arrastar ou não componentes, e vc, ser o construtor de um 
MVP, não o torna melhor o pior programador que eu, acho que neste ponto vc 
deveria REVER OS SEUS CONCEITOS...

  Véi, foi forçado o comentário. Mas ainda assim tentei colocar dois 
  exemplos extremos - Assembly é puro código e arrastar componente é puro 
  click. Nenhum dos dois é bom porque por um lado lhe falta produtividade, 
  por outro lhe falta recurso. MVP é mais orientado a código, 
  especialmente _hoje_, _em Press_. Logo que a anta véia conseguir criar 
  os Wizards tudo firacá mais divertido e clickável. Mesmo assim, desculpa 
  a falta de jeito. Eu, pra mula, só tá faltando as penas.

  > se compilou aquele PHONEBOOK ?? to loco pra testar a performance do bixim...
  > Já vi que vc não quer me enviar o executavel pra eu testar... 
  > 
  >> Leia os Readme.
  > 
  > Já LI!... :-/

  Vide ($Press)/Demos/Readme.txt. Você precisa remover a dependência com 
  InstantObjects, ou instalá-lo em teu micro. Ainda assim vou empacotar um 
  binário com conectores para ZeosDBO (vários bancos, para testares com 
  MySQL), UIB (velocidade), BDE (só pra desencargo) e deixo um link na 
  lista. Ainda assim eu recomendaria você tentar compilar por aí para 
  entender melhor como a coisa funfa.

  --
  João Morais


   

[As partes desta mensagem que não continham texto foram removidas]

Responder a