2010-02-04 37 views
9

si tengo un modelo de hilo y un controlador.singular o plural en modelos de controladores?

debería que estar en singular o plural, tanto para el modelo y el controlador?

podría mostrar un hilo y también listar hilos.

no sé lo que debería usar.

$thread->get_lists(); // doesnt sound good 
$threads->show(); // doesnt sound good 

Respuesta

14

Se no importa.

Yo personalmente uso singular para modelos y plural para controladores.

Lo que importa, sin embargo, es que elija un esquema y sea consistente.

+0

+1 y gracias por paquete-Phu :) – Gordon

+0

@Gordon: ja, gracias. ¿Dónde lo escuchaste? – hobodave

+0

No recuerdo. Ya sea a través de Twitter o tropecé con él cuando estaba buscando una solución todo en uno para minimizar CSS y JS. – Gordon

2

KohanaPHP maneja muy bien sus componentes MVC singulares/plurales. Lo verificaría como referencia ya que tiene sentido. Pero cuando se trata de eso, realmente no importa y depende del programador. Es decir, si obtiene un montón de listas, haga get_lists() o si sus contenidos de una lista usan get_list().

2

Como dijeron los demás, no importa.

modelos relativos, me gusta usar singular cuando la clase representa una sola fila, por ejemplo, cuando uso Active Record o Table Row Gateway y plural cuando trabajo con clases que representan tablas y conjuntos de registros, simplemente porque puedo hacer que estos devuelvan o contengan clases con nombres singulares y pude distinguir entre ellos. Pero, de nuevo, igual podría nombrarlos UserTable, UserCollection y User. Usa lo que mejor represente tu dominio.

Algunos marcos tienen una convención para nombrar los modelos y controladores para trabajar algunos automagic. Por ejemplo, los modelos singulares estarán inflexionados para usar tablas en plural de manera predeterminada, por lo que no es necesario que lo asigne usted mismo. Esto se llama convention over configuration; terminado, porque generalmente todavía puede configurarlo como mejor le parezca.

El único momento en que yo diría que no importa cómo asignar nombres a los modelos y el controlador es cuando un code convention en uso.

3

Eso depende del modelo. Si los objetos de esa clase representan exactamente una cosa, use singular, si representan muchas cosas, use plural (pero generalmente no necesita una clase de este tipo, use una colección/una colección). Ambos no pueden suceder o debe rediseñar (1).

Voy a usar tu ejemplo Tema:

Si todos los modelos de objetos de un hilo, el nombre de la clase "hilo". Si modela varios hilos a la vez, llámalo "Threads" (o "ThreadCollection" o similar).

(1) Si se necesita tanto, una representación de un solo hilo y una representación de muchos hilos a la vez, utilizar dos clases distintas (rosca y las roscas) o crear una matriz o una colección para el segundo. Entonces lo tendrá limpio: $ thread-> show(); $ hilos-> lista();

+0

Me gusta esto porque trabajar tanto con listas como con elementos individuales en la misma clase a menudo no está muy orientado a objetos. ¿Por qué? Porque en mi experiencia estas clases rara vez tienen un estado, pero son meramente una colección de funciones. – DanMan

1

Sé que esto es una cuestión de edad, sin embargo, recientemente he tenido un largo debate con mis compañeros de trabajo acerca de esto.

Aunque personalmente prefiero singular para los controladores y al mismo tiempo absolutamente piensan que singular/plural no debe importar/forzada ...

La mayoría de las APIs conocidas por ahí está utilizando plural para los controladores. Este es un argumento que tiene un potencial muy fuerte para acabar con el debate

Por ejemplo Twitter API Google plus API

Cuestiones relacionadas