实例讲解设计模式之单件模式应用和简单注入实现形式
首先简单介绍下单件模式是什么东西,也称Singleton模式,实现单一实例的功能,不具体说了,不了解者看别的介绍概念性文章。
通常,在我做过的项目中,应用Singleton最多的就是做适配器,下面我会介绍如何做适配器。
先介绍通过通过单件模式,实现适配器产生单一实例的应用过程。
在介绍单件模式以前,我想先介绍下,面向服务编程的概念。在我现在的设计思想过程中,我认为,任何一个业务逻辑都是基于服务之上的。
服务是通过接口和实现来实现相互耦合。下面通过我之前开发的一个系统为例,抽象核心思想,来描述如何做适配器。
首先做个解决方案
做一个用户类服务接口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Model;
namespace IService
{
public interface IUserService
{
Users Load();
void Insert(User user);
void Update(User user);
void Delete(User user);
}
}
用户类实现
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IService;
using Model;
namespace Service
{
public class UserService:IUserService
{
#region IUserService 成员
public Model.Users Load()
{
Users returnUsers = new Users();
User myUser = new User();
myUser.Id = Guid.NewGuid().ToString();
myUser.Name = "zhangsan";
myUser.Password = "111";
User myUser1 = new User();
myUser1.Id = Guid.NewGuid().ToString();
myUser1.Name = "lisi";
myUser1.Password = "222";
returnUsers.Add(myUser);
returnUsers.Add(myUser1);
return returnUsers;
}
public void Insert(Model.User user)
{
throw new NotImplementedException();
}
public void Update(Model.User user)
{
throw new NotImplementedException();
}
public void Delete(Model.User user)
{
throw new NotImplementedException();
}
#endregion
}
}