VB.NET接口泛型+策略模式+单例模式

本文探讨了如何在VB.NET中利用接口泛型和策略模式优化数据访问层的代码,减少重复。通过接口泛型对不同实体类进行抽象,结合单例模式确保数据访问的安全性。文章提供了UML结构图、关键代码示例,并指出SQLServerDALHelp类作为调用接口,而BasicDataDAL类负责执行返回实体类操作。对于接口泛化的深入理解,作者给出了相关参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在程序中的数据访问层中,经常会遇到返回实体类的情况,而不同的实体类大多具有相似的代码,情况也大致相同:有的是返回实体类的一条记录,有的是返回实体类的集合。这样如果仅按照最简单的写法的话,程序中会出现许多相似的代码,给人一种不舒服的感觉,如果发现一个程序中有许多重复类似的代码,那么就是程序中的坏味道,我们就应该想办法,对这些代码的实质进行抽象,进行优化,那么接下来要总结的接口泛型就是这么一个例子,另外用到了策略模式+单例模式。有些地方还需要继续优化,不过先把今天实现的功能总结一下。

先来看看UML结构图:

1、解释一下单例模式:BasicDataReaderToEntityStrategy

单例模式有一个自身的组合,需要一个私有化的实例化入口,具备一个全局访问的方法,另外需要明白的是,单例模式的线程安全问题,我的理解是整个程序中再任何时刻只能允许单例的原始对象自身有的动作,如,修改里面的数据等,因此给它自己上一把或者两把锁是必要的了。有关单例模式的5种写法以及各自的特点,可以参考这里:http://blog.youkuaiyun.com/lmdcszh/article/details/7168623

我再把这里用到的BasicDataReaderToEntityStrategy的相关代码贴出来供大家参考或者讨论。

Imports Model
Imports System.Windows.Forms
Imports System.Collections.Generic
Imports System.Data.SqlClient

'单例模式
Public NotInheritable Class BasicDataReaderToEntityStrategy
    Implements IDataReaderToEntityStrategy(Of BasicData)
    '自身组合
    Shared singleInstance As BasicDataReaderToEntityStrategy = Nothing
    '定义一个静态的系统锁
    Shared ReadOnly padLock As New Object

    '私有化构造函数
    Private Sub New()

    End Sub
    '全局静态属性,唯一实例化入口,双重锁
    Public Shared ReadOnly Property GetInstance() As BasicDataReaderToEntityStr
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值