En aquesta secció, ens centrarem en la implementació del projecte final. Aquest és un pas crucial on posarem en pràctica tots els conceptes apresos al llarg del curs. La implementació implica escriure el codi, integrar diferents components i assegurar-nos que el sistema funcioni segons els requisits especificats.

  1. Preparació de l'Entorn

Abans de començar a codificar, assegura't que tens tot el necessari:

  • IDE: Visual Studio o qualsevol altre entorn de desenvolupament compatible amb C#.
  • Repositori de Codi: GitHub, GitLab o qualsevol altre sistema de control de versions.
  • Dependències: Assegura't que totes les llibreries i paquets necessaris estan instal·lats.

  1. Estructura del Projecte

Organitza el teu projecte de manera que sigui fàcil de mantenir i escalar. Una estructura típica podria ser:

/ProjecteFinal
    /src
        /ProjecteFinal
            /Controllers
            /Models
            /Views
            /Services
            /wwwroot
    /tests
        /ProjecteFinal.Tests
    /docs
    /scripts
    ProjecteFinal.sln

  1. Implementació dels Components

3.1 Models

Els models representen les dades de la teva aplicació. Aquí tens un exemple d'un model senzill:

public class Producte
{
    public int Id { get; set; }
    public string Nom { get; set; }
    public decimal Preu { get; set; }
    public string Descripcio { get; set; }
}

3.2 Controladors

Els controladors gestionen les sol·licituds de l'usuari i retornen les respostes adequades. Exemple d'un controlador:

using Microsoft.AspNetCore.Mvc;
using ProjecteFinal.Models;

namespace ProjecteFinal.Controllers
{
    public class ProducteController : Controller
    {
        public IActionResult Index()
        {
            var productes = new List<Producte>
            {
                new Producte { Id = 1, Nom = "Producte 1", Preu = 10.0m, Descripcio = "Descripció del Producte 1" },
                new Producte { Id = 2, Nom = "Producte 2", Preu = 20.0m, Descripcio = "Descripció del Producte 2" }
            };
            return View(productes);
        }
    }
}

3.3 Vistes

Les vistes presenten les dades a l'usuari. Exemple d'una vista en Razor:

@model IEnumerable<ProjecteFinal.Models.Producte>

<h1>Llista de Productes</h1>

<table>
    <thead>
        <tr>
            <th>Nom</th>
            <th>Preu</th>
            <th>Descripció</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var producte in Model)
        {
            <tr>
                <td>@producte.Nom</td>
                <td>@producte.Preu</td>
                <td>@producte.Descripcio</td>
            </tr>
        }
    </tbody>
</table>

3.4 Serveis

Els serveis encapsulen la lògica de negoci. Exemple d'un servei:

public interface IProducteService
{
    IEnumerable<Producte> GetAllProductes();
}

public class ProducteService : IProducteService
{
    public IEnumerable<Producte> GetAllProductes()
    {
        return new List<Producte>
        {
            new Producte { Id = 1, Nom = "Producte 1", Preu = 10.0m, Descripcio = "Descripció del Producte 1" },
            new Producte { Id = 2, Nom = "Producte 2", Preu = 20.0m, Descripcio = "Descripció del Producte 2" }
        };
    }
}

  1. Integració de Components

4.1 Configuració de Dependències

Configura les dependències en Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();
    services.AddScoped<IProducteService, ProducteService>();
}

4.2 Enllaç de Controladors i Serveis

Modifica el controlador per utilitzar el servei:

public class ProducteController : Controller
{
    private readonly IProducteService _producteService;

    public ProducteController(IProducteService producteService)
    {
        _producteService = producteService;
    }

    public IActionResult Index()
    {
        var productes = _producteService.GetAllProductes();
        return View(productes);
    }
}

  1. Proves i Depuració

5.1 Proves Unitàries

Crea proves unitàries per assegurar-te que cada component funciona correctament. Exemple d'una prova unitària:

using Xunit;
using ProjecteFinal.Services;
using ProjecteFinal.Models;

public class ProducteServiceTests
{
    [Fact]
    public void GetAllProductes_ReturnsAllProductes()
    {
        // Arrange
        var service = new ProducteService();

        // Act
        var result = service.GetAllProductes();

        // Assert
        Assert.Equal(2, result.Count());
    }
}

5.2 Depuració

Utilitza les eines de depuració del teu IDE per identificar i corregir errors. Posa punts de trencament (breakpoints) i inspecciona les variables per assegurar-te que el codi funciona com s'espera.

  1. Documentació

Documenta el teu codi i el projecte per facilitar la comprensió i el manteniment. Inclou comentaris en el codi i crea documentació externa si és necessari.

  1. Revisió de Codi

Abans de considerar la implementació completa, realitza una revisió de codi per assegurar-te que segueix les millors pràctiques i està lliure d'errors.

Conclusió

La implementació és una part fonamental del desenvolupament de programari. Seguint una estructura clara i organitzada, i aplicant les millors pràctiques, pots assegurar-te que el teu projecte sigui robust i fàcil de mantenir. En la següent secció, ens centrarem en les proves i la depuració per garantir que el sistema funcioni correctament.

© Copyright 2024. Tots els drets reservats