Personalmente, me gusta la idea de comenzar con los requisitos de funcionalidad y luego descifrar lógicamente los pasos y componentes que necesito crear. No hay nada como un ejemplo, así que …
Objetivo: quiero crear una plataforma de blogs.
Objetivo muy general, así que analicemos lo que queremos hacer.
- ¿Cuál es el proceso comercial formal paso a paso de construir un sitio web de WordPress para un cliente?
- Cómo crear un formulario de registro en mi sitio web
- ¿Los sitios web usan múltiples lenguajes de codificación?
- ¿Qué se necesita para crear un sitio web de impulso para League of Legends? Estoy planeando crear y ejecutar mi propio sitio web para el comienzo de la Temporada 5, pero necesito una idea de dónde y cómo comenzar. ¿Dónde puedo encontrar los diseños internos de los paneles de refuerzo, etc.?
- Cómo comenzar legalmente a vender sitios web
Función: Quiero que los usuarios puedan iniciar sesión, hacer publicaciones y mostrar las publicaciones en la página principal.
Ahora estamos llegando a alguna parte. Queremos poder almacenar usuarios y publicaciones, por lo que necesitaremos al menos dos tablas de base de datos para almacenar esta información. (Si está utilizando MVC, estos serán sus modelos). Obviamente, este es un sitio web, por lo que necesitaremos como mínimo una página de índice para mostrar todas las publicaciones, una página de inicio de sesión, una página para escribir un publicación de blog, y probablemente algún tipo de panel de administración para administrar sus publicaciones de blog. (Vistas de MVC). También necesitamos un poco de lógica aquí para unir los dos (nuestros controladores), por lo que debemos tener funciones para autorizar a un usuario, guardar sus publicaciones de blog y mostrar todas las publicaciones de blog.
Entonces, a partir de este requisito de funcionalidad, obtenemos los conceptos básicos de nuestra aplicación de blog:
Base de datos (con columnas mínimas requeridas identificadas) / Modelos:
- Usuario (user_id, user_login, user_password)
- Publicar (post_id, user_id, post_name, post_content)
Puntos de vista:
- Índice
- Iniciar sesión
- Panel de administración de usuarios
- Nueva publicación de blog
Controladores / Rutas:
Toda la lógica de programación para que suceda lo que quiere que suceda en una vista (autorice al usuario, recupere publicaciones, guarde publicaciones, etc.)
Este es ciertamente un punto de partida mucho más detallado y el proceso es muy lógico: quiero hacer que X suceda, así que necesito estos componentes para lograrlo. Hacer que su aplicación sea más potente es simplemente seguir el mismo proceso de identificación de lo que necesita.
Función: Quiero que los usuarios puedan hacer que las publicaciones solo sean visibles para ellos mismos.
De acuerdo, debe asegurarse de que su tabla para Publicar tenga una opción para hacer que las publicaciones sean privadas y necesita cierta lógica en un controlador, de modo que si esa opción está seleccionada, debe asegurarse de que el usuario esté autorizado para verla.
Función: quiero que los usuarios puedan crear categorías y asignarlas a publicaciones.
Para hacer esto, necesitará otra tabla y modelo de base de datos, y ajustar a la tabla Publicar para referirse a las categorías. También deberá agregar la lógica en los controladores y actualizar las vistas relevantes para asignar y mostrar categorías.
Y así sucesivamente hasta que conozca todos los componentes necesarios. A partir de ahí, solo los une con la programación.