考虑到软件使用在客户端,同时想简化代码的实现,就写了一个泛型的数据访问对象基类,并不是特别健全,按道理应该参数化的方式实现insert和update,暂未使用参数化,抽时间改进. /// <summary> /// DAO基类 实体名必须要与数据表字段名一致 /// </summary> /// <typeparam name="T"></typeparam> public class BaseDao<T> where T :
在c#中,有时候我们会编写类似这样的代码: public class a<T> { //具体类的实现 } public class b : a<string>{} 如果b继承a的类型不确定,这个时候我们是无法通过baseType来直接判断b是否继承于a的. 如果我们写如下代码: typeof(b).baseType == typeof(a) 返回值是false. 因为typeof(b).baseType返回的类型是a`1[System.String],而typeof(a<&g
在使用springmvc时,我们通常会定义类似这样的通用类与前端进行交互,以便于前端可以做一些统一的处理: public class Result<T> { private int ret; private String msg; private T data; // 此处省略getter和setter方法 } 这样的类序列化为json后,js反序列化处理起来毫无压力.但是如果rest接口的消费端就是java呢,java泛型的类型擦除却容易引入一些障碍. 一个反序列化的迭代 先定义一个类,后面
当我们用MVVM的时候要实现INotifyPropertyChanged,如果你是基于.net4.5以下的framework(.net4.5已有新特性我这里就不说了) 你很可能会这么写 public class MyModel : INotifyPropertyChanged { private string _Name; public string Name { get { return _Name; } set { _Name = value; OnPropertyChanged("Name
Hypermedia As The Engine Of Application State (HATEOAS) HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心.它的重要性在于打破了客户端和服务器之间严格的契约,使得客户端可以更加智能和自适应,而 REST 服务本身的演化和更新也变得更加容易. HATEOAS的优点有: 具有可进化性并且能自我描述 超媒体(Hyper