inyección de constructor de inyección Ejemplo 1-- dependencia

Introducción: Tres ejemplos son inyectados escritos en C #, y siguen el blog el fin de la base de datos de ejemplo

inyección Constructor: Como el nombre sugiere, es utilizar un constructor implementado en forma de inyección

Y en la entrada del blog aquí la diferencia es más de una interfaz, Orden inyecta en la interfaz, en lugar de clases específicas.

SqlServerDal categorías, de acceso:

aplicación de base de datos de la interfaz, con la funcionalidad añadida de pedidos

using System;


namespace Ioc2
{
    class SqlServerDal:IDataAccess
    {
        public void Add()
        {
            Console.WriteLine("在sqlserver数据库中添加一条订单");
        }
    }
}

namespace Ioc2
{
     class Access:IDataAccess
     {
        public void Add()
        {
            Console.WriteLine("在access数据库中添加一条订单");
        }
     }
}

Solicitar categorías:

El comportamiento abstracto base de datos (interfaz) de inyección función construida

namespace Ioc2
{
    class Order
    {
        private IDataAccess _ida;
        public Order(IDataAccess ida)
        {
            this._ida = ida;
        }

        public void Add()
        {
            _ida.Add();
        }

    }
}

Base de datos de interfaz IDataAccess:

Interface es una acciones clase abstracta, la base de datos se utiliza para agregar datos, los datos se pueden añadir no sólo sqlserver base de datos, por lo que vamos a añadir () este comportamiento resumir, se puede añadir el tiempo que el orden de la clase de base de datos puede ser inyectada.

namespace Ioc2
{
    interface IDataAccess
    {
        void Add();
    }
}

cliente:

Qué base de datos con la que crear una instancia y por escrito a la clase de orden como un parámetro

namespace Ioc2
{
    class Program
    {
        static void Main(string[] args)
        {
            //这里用的是sqlserver数据库
            //如果要改为其他数据库,添加其他数据库的类并在此实例化即可
            SqlServerDal dal = new SqlServerDal();
            //Access access=new Access();
            Order order = new Order(dal);
            //调用Add()方法,添加订单
            order.Add();
        }
    }
}

 

 

 

 

Publicados 245 artículos originales · ganado elogios 23 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/qq_41026669/article/details/104878807
Recomendado
Clasificación