ORIENTACAO A OBJETOS - CONCEITO

KERPLUNK 27/08/2013 08:43:42
#428159
Exemplificar o que? O Singleton ou classes estáticas?
FFCOUTO 27/08/2013 09:26:28
#428161
Citação:

FFCOUTO: Puristas de OOP, dirão que você deve criar um singleton para isso, eu pessoalmente prefiro classes estáticas normal apesar de quase não usar dessa maneira.



Kerplunk, o exemplo seria essa sua maneira de usar. Criar a singleton ou a classe estática eu sei como fazer.

KERPLUNK 27/08/2013 11:47:21
#428171
Citação:

:
FFCOUTO: Puristas de OOP, dirão que você deve criar um singleton para isso, eu pessoalmente prefiro classes estáticas normal apesar de quase não usar dessa maneira.

Kerplunk, o exemplo seria essa sua maneira de usar. Criar a singleton ou a classe estática eu sei como fazer.


Bom, daí depende. Em que você quer aplicar?
FFCOUTO 27/08/2013 16:26:30
#428186
Kerplunk, o uso será feito num programa simples. Ele tem um pequeno arquivo de configuração, onde fica as escolhas do usuário, porém toda a funcionalidade depende da leitura desses valores.
KERPLUNK 27/08/2013 16:43:01
#428187
Citação:

:
Kerplunk, o uso será feito num programa simples. Ele tem um pequeno arquivo de configuração, onde fica as escolhas do usuário, porém toda a funcionalidade depende da leitura desses valores.


Crie a classe e use serialização.
PROFESSOR 27/08/2013 20:50:27
#428208
KERPLUNK: Relativo ao meu post, já tão velho quanto eu mesmo, apenas uma listagem simples, com filtros e agrupamento, é isso mesmo, não tive nem chance de fazer você pensar...

O caso do modelo para as configurações, muitas vezes alguns dados das configurações de um aplicativo são baseados em classes estáticas, enquanto outros são tipos convencionais. Ainda, na carga inicial de um aplicativo, normalmente é quando se [Ô]carregam[Ô] as configurações, que conter desde dados do cliente/usuário até testes com serviços (dados, atualizações, webservices etc.). Normalmente usamos paralelismo nesses processos, para que o usuário se mantenha informado do que o aplicativo está fazendo. Nesse aspecto da carga das configurações (e outros), também penso que para a adoção de singleton seja necessário pesar bem o risco de chamadas recursivas. Um bom exemplo é o caso da MembershipProvider para MS-Access (usando OleDB), demonstrada pela Microsoft há alguns anos (2006) no MSDN. Ao [Ô]acumular[Ô] ações, por não efetuar uma descarga mais rápida do buffer, gerava facilmente um erro de sobrecarga em tempo de execução.

Aproveitando, sobre paralelismo (PLINK, TPL etc.) pouco se fala, e é um assunto sempre importante ao desenvolvedor, principalmente com o uso de OOP...
KERPLUNK 28/08/2013 09:45:06
#428228
PROFESSOR,

Para tipo entidades, correspondentes à tabelas ou outros dados, esses não uso singletons, mas uma classe factory para conexão de banco de dados por exemplo, aí sim, uso singleton. Nas entidades de dados, uso eventos para [Ô]informar para fora[Ô] o que está acontecendo e geralmente uso delegates para rodar métodos mais pesados(que também disparam eventos). Assim, posso executar métodos pesados até mesmo em uma thread paralela. Mas nem tudo eu faço isso, fazer classes thread safe, não é tão simples e exceções nem sempre muito fáceis de depurar, além do problema do paralelismo e concorrência.
FFCOUTO 28/08/2013 14:37:38
#428249
Caros, Kerplunk e Professor, não vou entrar nesse assunto que vocês estão discutindo pois ainda é um mundo novo pra mim a OOP.

Contudo, vou deixar registrado, que consegui fazer o uso das classes estáticas para a questão das opções do programa, serviu bem para o meu propósito. E que finalmente consegui entender o exemplo que o Kerplunk postou no início do tópico usando Reflection para montar os comandos de CRUD. No exemplo tinha apenas o comando Insert, mas conseguir fazer aqui Update, Delete e Select numa boa. E vou confessar, é a 8ª maravilha do mundo .

Acho que podemos passar para o próximo assunto dos tópicos (página 4) que você mesmo sugeriu.
KERPLUNK 29/08/2013 09:10:00
#428267
Citação:

:
Caros, Kerplunk e Professor, não vou entrar nesse assunto que vocês estão discutindo pois ainda é um mundo novo pra mim a OOP.

Contudo, vou deixar registrado, que consegui fazer o uso das classes estáticas para a questão das opções do programa, serviu bem para o meu propósito. E que finalmente consegui entender o exemplo que o Kerplunk postou no início do tópico usando Reflection para montar os comandos de CRUD. No exemplo tinha apenas o comando Insert, mas conseguir fazer aqui Update, Delete e Select numa boa. E vou confessar, é a 8ª maravilha do mundo .

Acho que podemos passar para o próximo assunto dos tópicos (página 4) que você mesmo sugeriu.



Assim que eu tiver um tempinho, prometo que escrevo mais...
FFCOUTO 12/09/2013 10:37:46
#428750
Caro KERPLUNK,

Agora me surgiu uma dúvida em relação aquele exemplo que você postou. Nele você informa os atributos para as propriedades e utiliza o reflection para recuperar os nomes de campos e valores, minha dúvida é: E quando a propriedade for outra classe (entidade) como fazer?

Por exemplo, tenho uma classe Pedido e nela a propriedade Cliente não é do tipo inteiro e sim uma classe Cliente. Como fazer para que a classe extendida capture a propriedade Código de cliente e monta o comando SQL corretamente?

[Table(TableName=[Ô]pedidos[Ô])]
class Pedido
{
[Field(TableFieldName=[Ô]numero[Ô], DatabaseType=SqlDbType.Int)]
public int Numero { get; set; }

[Field(TableFieldName=[Ô]id_cliente[Ô], DatabaseType=SqlDbType.Int)]
public Cliente Cliente { get; set; }

....
}


Espero que tenha entendido a minha dúvida. E obrigado pela ajuda.
Página 9 de 14 [136 registro(s)]
Faça seu login para responder