一.普通架构中存在的问题 StudentDB数据库,包含一张StudentInfoTB表,结构如下: s_id int primary key identity(1,1), s_name Nvarchar(10) not null, s_age int check(s_age >10 and s_age<30), s_sex bit not null 先来看一下普通的架构的问题所在: 调用关系: dal层代码只是通过SqlHelper简单的操作一下数据库,就不展示了. StudentInfo的
抽象工厂模式[实例]:定义一个用于创建对象的接口,让子类决定实例化哪一个类 UML 代码class User{ private int _id; public int Id { get => _id; set => _id = value; } private string _name; public string Name { get => _name; set => _name = value; }} interface IUser{ void Inser
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 test !== num //false test与num类型相同,其值也相同, 非运算肯定是false num == str //true 把str转换为数字,检查其是否相等. nu
定 义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 结构图: 示例结构图: 实体类: class User { public int Id { get; set; } public string Name { get; set; } } class Department { public int Id { get; set; } public string Name { get; set; } } 数据访问接口: interface IUser { void Ins
曾经参与开发过的的项目,一般都是采用MVC模式进行开发,大概框架图如下: web界面层调用BLL业务层,BLL通过抽象工厂DALFactory动态生成继承了IDAL的数据库操作层实例,以进行对数据库的各项操作. DALFactory这层主要是根据web配置,通过反射动态生成IDAL实例,方便BLL层调用. 以前的做法是,IDAL每增加一个接口(如IUser),DALFactory就得添加一个方法用于产生继承了该接口的实例类.粗略代码: public class DataAccess { pr