开发者学堂课程【Java 高级编程:属性自动赋值实现思路】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/386
属性自动赋值实现思路
一、 基本思路
经过分析之后,已经确认了当前简单 java 类操作的问题所在,而对于开发者而言,就需要想办法通过一种解决方案来实现属性内容的自动设置,那么这个时候的设置强烈建议采用字符串的形式来描述对应的类型。
1. 在进行程序开发时,String 字符串可以描述的内容有很多,并且也可以由开发者自行定义字符串的结构,下面就采用''属性内容''形式来为简单 java 类中的属性初始化。
在这个操作类当中,会保存两个属性
红色字体为当前分析的重要步骤。以属性的获得为例,操作并不复杂。
字符串一定是主类靠用户由键盘输入数据所提供的。当获得数据后发现数据可以进行分解,ename 描述的是属性名称,Smith 描述的是属性内容;Job 是属性名称,Clark 为属性内容。
job 可以找到对应的属性类型,然后再与 method 的整合。实际上获取属性名称就可以找到 Setter。
既然能够找到 Setter 的命名要求,就能找到 Setter 方法,Smith 最终结果都要求把值保存到对象属性中。
要想实现以上处理,需要 class 类支持,在整个代码之中,如果没有 class 类,就无法找到类中的实例化对象,成员,Method。还需要 Filed 类,method 类。
以上分析可发现通过字符串的操作,继续通过反射就能够获取信息,但客户端不应如此麻烦。整个流程中已经形成程序操作的基本结构,应该按照这种形式来进行。
类设计的基本结构应该由一个专门的 classinstancefactory 类负责所有的反射处理,即,接受反射对象与要设置的属性内容,同时可以获取指定类的实例化对象。
设计的基本结构
lass ClassInstanceFactory {
private ClassInstanceFactory() {}
public static <T> T create(Class<?> clazz,String value){
return null ;
}
那么在当前的开发之中,所需要留给用户完善的就是 classinstancefactorycreate()
处理方法。