Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

KhaosDoctor

Mini Framework .NET

Recommended Posts

Olá pessoal!

 

Eu tive que atualizar o outro tópico, não havia como deixá-lo da maneira que estava então achei melhor criar outro.

 

Eu atualizei a DLL de funções (Chamada de Lotus) que ando trabalhando para VB, ainda não tive tempo para transpor esta DLL para C#, mas acredito que logo teremos um resultado.

 

Para quem não sabe o que significa isto, aqui vai uma explicação:

 

 

Este é o projeto Lotus, ele é basicamente uma DLL comum do VB ou C# que contem algumas funções simples (Um API) mas que são bem uteis, como por exemplo, efeitos de Fade e testes de teclas, porque todo mundo esta cansado de digitar toda vez aquele teste chato quando quer que o TextBox só permita números ou só letras não é mesmo?

 

Então tomei a iniciativa fazer essa Class Library onde estarei colocando essas funções. Até o momento ela contem pouco conteúdo e é por isso que eu preciso das sugestões de vocês. Gostaria de pedir ideias de funções para colocar nesta biblioteca, quem puder dar alem da ideia, o código pronto também será muito legal, lembrando que cada função que não for feita por mim terá seus devidos créditos nas descrições.

 

A Biblioteca foi dividida em diversas classes menores, cada uma com um assunto específico a tratar, por exemplo: Temos a Classe DataLink, que é responsável pelo tratamento de funções de Bancos de Dados.

 

Até agora a biblioteca está organizada da seguinte maneira:

 

Namespace Lotus.Util: Responsável por abrigar funções genéricas.

Util.jpg

 

Namespace Lotus.OS: Responsável por funções que utilizam o sistema (manipulação de arquivos e etc)

OS.jpg

 

Namespace Lotus.Vox: Responsável pela gravação e reprodução de áudio.

Vox.jpg

 

Namespace Lotus.WComponents: Responsável pelas funções que referentes à objetos da classe Windows.Forms.

WComponnents.jpg

 

Namespace Lotus.Network: Responsável por funções referentes a ambientes de Rede.

Network.jpg

 

Namespace Lotus.Net: Responsável pelo envio de Emails utilizando o Windows.Net.Mail (Ainda em construção).

Net.jpg

 

Namespace Lotus.DataLink: Responsável por funções referentes a bancos de dados de diversos tipos.

Datalink.jpg

 

Gostaria de pedir a vocês mais ideias e sugestões, quem puder colocar já o código pronto da função, ou quem quiser já montar totalmente ao invés de dar uma ideia aqui vai algumas dicas:

 

  • Declare suas funções sempre de modo generalizado, adicionando parâmetros para a maioria das variáveis, tenha em mente que não é só profissionais que irão utilizar isso, mas tambem novatos.
  • Utilize "Public Shared Function" ao invés de "Public Shared Sub" e sempre que puder retorne um valor, caso a função não retorne nada apenas use "Return 0"
  • Não deixe visivel as variáveis, interfaces, classes pai ou MustInherit na arvore, utilize "Private Shared" para declarar variáveis e Friend ou Private para declarar Classes.
  • Declare propriedades como "Public Shared"
  • No final do seu post coloque como essa função deve ser chamada na hora do uso.

Bom, esta é minha ideia, estou pedindo a vocês mais funções para que possamos completar essa biblioteca juntos e distribuí-la pelo fórum ou fora dele para quem sentir necessidade e quiser usá-la!

 

Futuramente pretendo liberar no SourceForge para quem tiver interesse de trabalhar no projeto juntamente comigo e outras pessoas, para assim fazermos um pequeno Framework de utilidades.

 

Quem estiver interessado em testá-la e provar se há ou não há bugs sinta-se livre para ir em: http://www.lotusframework.blogspot.com a página de downloads contem a versão mais atualizada até agora, e estarei lançando updates para ela periodicamente.

 

Qualquer duvida ou sugestão podem enviar um email para: khaosdoctor@hotmail.com

 

Obrigado wink.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como não lembro muito de VB, eu opinaria sobre três coisas:

 

- Eu não deveria estar opininando sobre isso pois eu ainda "sofro" também é quanto a definir Lotus.Util pois, direta ou indiretamente, caracteriza todo o restante como inútil.

 

Eu estou mudando isso aos poucos para comigo pois vejo um recurso útil à mais de um cenário, como sendo útil à um tipo de dado. Não sei como funciona no VB quanto à tipagem, mas veja o módulo Math por exemplo. A grande maioria das operações matemáticas são úteis à números.

 

Apesar de a nomenclatura Core não ser a melhor de todas, seria algo tão... intrínseco às bases do projeto que caberia. E no caso desse módulo, algo como Core.Types.Number com todas as operações matemáticas.

 

- Lotus.OS.FolderSystem representa algo mais intimamente ligado ao sistema de arquivos do que ao sistema operacional em si, então acho que Lotus.OS.FileSystem.Folder, ficaria melhor.

 

- Lotus.Vox, apesar de ter sido um nome bem maneiro, pode vir a te limitar caso o módulo passe a suportar gravações/execuções de vídeo também. Então eu sugeriria uma subdivisão, talvez, Media

 

E num geral, a padronização da nomenclatura é algo quase que primordial. Nesse camelcase, ou a primeira letra é sempre minúscula ou é sempre maiúsucula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda Bruno smile.gif

 

Vou responder aqui todas as suas dicas, inclusive algumas delas eu já até fiz hehehe

 

 

- Eu não deveria estar opininando sobre isso pois eu ainda "sofro" também é quanto a definir Lotus.Util pois, direta ou indiretamente, caracteriza todo o restante como inútil.

 

Pois é, eu cheguei no mesmo impasse, se eu chamasse ela de Core, eu estaria falando que este era o nucleo da classe, de lá que viriam todos, o que não é verdade, A DLL é modular, inclusive pode ser baixada em pedaços. Daí pensei em chamar de Lotus.Lotus, mas achei um pouco redundante, e depois de não saber mais de nenhum nome eu coloquei apenas como Util, porém como abreviação de Utilidades ou Utilities, porque a classe toda vem escrita em inglês, e como a biblioteca java.util esta também se encaixa com utilidades.

 

- Lotus.OS.FolderSystem representa algo mais intimamente ligado ao sistema de arquivos do que ao sistema operacional em si, então acho que Lotus.OS.FileSystem.Folder, ficaria melhor.

 

Então, neste quesito eu também pensei em chamar o namespace de Lotus.Files.Folder, mas ai o outro ficaria Lotus.Files.Files e fica um pouco estranho, eu vim com a nomenclatura de OS para poder da a entender que o que ele está ou estará tratando nestas namespaces é referente ao computador do usuário ou do cliente, ou seja, não é fora do seu próprio OS.

 

- Lotus.Vox, apesar de ter sido um nome bem maneiro, pode vir a te limitar caso o módulo passe a suportar gravações/execuções de vídeo também. Então eu sugeriria uma subdivisão, talvez, Media

 

Sim, o primeiro nome da classe Voice era Media, mas como só tinha Voz eu pensei em nomeá-la desta maneira, ter apenas o namespace Vox eu também não achei legal, porque se for tratar de vídeos então ele deveria mudar para Videos, eu não atualizei o classmap ainda, porém eu já renomeei o namespace para Lotus.Media que contem a classe Vox e a classe Video.

 

E num geral, a padronização da nomenclatura é algo quase que primordial. Nesse camelcase, ou a primeira letra é sempre minúscula ou é sempre maiúsucula.

 

Sim, neste quesito tudo está padrão, todos os métodos tem a primeira letra maiuscula e a letra que viria depois do espaço também maiúscula, e.g: "Execute Non Query" -> "ExecuteNonQuery"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas e os "isSomething"? Continuam com a iniciais minúsculas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.