Files
Final_Das/Modelo/RepositorioBase.cs

43 lines
1.0 KiB
C#

using System;
using System.Collections.ObjectModel;
namespace Modelo
{
public abstract class RepositorioBase<T, J>
where J : new()
{
protected List<T> almacen;
//es protected para que solo se pueda llamar desde
//las clases que implementen a esta clase
protected RepositorioBase() {
almacen = new List<T>();
}
// Singleton thread-safe por si quiero usar "Parallel"
private static J instance = new J();
public static J Instance
{
get
{
return instance;
}
}
// Lista el contenido del repositorio
public ReadOnlyCollection<T> Listar(){
return almacen.AsReadOnly();
}
// Añade objetos al almacen
abstract public bool Add(T t);
// Modifica objetos del almacen
abstract public bool Mod(T t);
// Elimina objetos del almacen
abstract public bool Del(T t);
}
}