Pergunta

Parece que a approch MVC padrão (como se relaciona com ColdFusion) é fazer com que a visualização de arquivos .CFM e fazer um dentro CFINCLUDE do cfc que finalmente processa a vista.

Será que isso quebrar a Orientação a Objetos de cfc de?

Será que isso causa o compilador CFML ter que compilar a toda vista?

Existe uma forte razão para não fazer os arquivos de visão próprios CFC com um método getContent?

Foi útil?

Solução

Será que esta pausa a Orientação a Objetos de CFC?

A realização deste vaga "Orientação a Objetos" do CFC é uma espécie de subjetivo. Obrigando-se a "tudo deve ser um objeto" vai forçá-lo a fazer as coisas com FC que irá criar sobrecarga extra. pouco compromisso que é necessário para garantir que os aplicativos são rápida e eficiente. Não se preocupe em alcançar algum objetivo indefinível de ser "orientado a objetos". Faça uma meta mais definíveis, como alcançar a reutilização de CFCs, ou encapsulamento de mudança. Tentando fazer vistas em objetos não é necessariamente ajudá-lo a atingir esses objetivos, porque cada exibição será diferente e provavelmente não reutilizável.

Será que isso causa o compilador CFML para tem que compilar a toda vista?

CFMS são compilados e armazenados em cache também. Eu tive várias formas grandes que consistem em abas, em que cada aba é um arquivo cfm separado. Na primeira carga, eles levam alguns segundos para compilação e exibição. Em cargas subseqüentes, a visualização com guias é gerado e exibido instantaneamente. O mesmo acontece com CFC.

Existe uma forte razão para não fazer as visualizar arquivos próprios CFC com uma método getContent?

I tempo atrás eu tentei implementar a minha própria estrutura apenas para a experiência de aprendizagem e acabei com a abordagem cfinclude. Pelo que me lembro, o que eu encontrei foi que o uso cfinclude encapsulado as coisas melhor e evitou a lentidão de criação de objetos, passando em torno de argumentos necessários para a vista, se preocupar com objetos sendo no âmbito direita, e evitou a sobrecarga extra de criação de vista objetos.

No final, porém, acho que esta é uma daquelas coisas que você tem que tentar-se para descobrir o que é a melhor abordagem para sua situação.

Outras dicas

Se você está interessado em implementar MVC, você deve verificar se o grande variedade de quadros CFML que já tomar essas decisões por você.

Tente caixa fria, ColdFusion on Wheels, Mach-II, ou Model-Glue. Ou pelo menos dar uma olhada em seu código fonte e ver como eles lidar com isso. :)

Não cegamente seguem um padrão ou metodologia só porque alguém sugeriu. Olhe para as necessidades que seu site tem e prestar atenção a suas próprias preferências, com um olho para alguém manter o código abaixo da estrada.

Especificamente, eu uso CFC para encapsular a interação com o DB. I seguem um padrão MVC, porque separa o código de vista do código de modelo é uma idéia muito boa, se os CFCs estão seguindo regras OO verdadeiros é menos importante.

Eu uso cfincludes em muitos lugares para reduzir redundency na minha camada de visão.

Eu tenho implementado o controller parte do meu padrão usando um quadro personalizado (I criou o controlador), então ficou mais inteligente e usado MachII, Fusebox e Modelo Glue. Cada uma dessas estruturas suportes / incentiva o uso de pontos de vista do CFC etc, ou melhor dito que cada suportes bom design e separação de preocupações.

Encontrar bons padrões, decidir o que funciona para você, implementar e documento.

seria o empate não CFINCLUDE para baixo sua portabilidade CFC mais acoplando-lo diretamente a um CFM.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top