对于java现有松耦合的个人看法[亲测有效]

对于java现有松耦合的个人看法[亲测有效]个人拙见:现在流行使用注解和Xml来达到松耦合的目的,但也大量使用了反射,这造成一定的资源消耗,而且维护起来比较繁琐,个人概念中,松耦合就是即插即用,为什么需要那么麻烦去配置XML,个人觉得看似更简单了,不过使用xml的规则也越来越复杂,不过是将从java源文件更改换到了xml文件上,如果一个实现类的方法我需要修改,那我依然需要动用源文件啊,方便也只是方便在,不知道实现类的名字,所以用xml可以…

个人拙见:
现在流行使用注解和Xml来达到松耦合的目的,但也大量使用了反射,这造成一定的资源消耗,而且维护起来比较繁琐,个人概念中,松耦合就是即插即用,为什么需要那么麻烦去配置XML,个人觉得看似更简单了,不过使用xml的规则也越来越复杂,不过是将从java源文件更改换到了xml文件上,如果一个实现类的方法我需要修改,那我依然需要动用源文件啊,方便也只是方便在,不知道实现类的名字,所以用xml可以无视实现类名字的变化,但是这样安全性也没想的那么好吧,而且还需要读取xml文件,然后再通过反射,我用框架写一些小服务,也需要去xml配置实现这些的。
个人认为:
可以java本身为主,xml为辅的方式,来进行面向接口
首先,我可以在接口当中,定义一个静态集合(map或者list,具体看需求),泛型为接口本身,然后定义一个 接口 getImpelement(动态参数)方法;
然后在实现类中,显式的创建无参构造或者按需求构建有参构造,创建get方法,利用重载,获取相应实现类的对象,然后重要的是在实现类中使用static静态代码块,内部使用 集合.add()的方式,将new的对象传入(这个对象我个人认为可以是无参对象,毕竟有get方法,可以定义,当然因为向接口集合中添加了,所以也可以直接使用接口集合中的唯一对象),然后在接口中定义
就需要考虑如何能将这些实现类的对象传入接口集合中,个人想法就是在命名上思考,可以统一为 implement_实现名,这样我在程序入口添加一个扫描字节码全文件的方式,统一将所有实现类的文件名使用 Class.formName(),进行加载,会自动执行静态代码块,将自身对象传入每个所对应的接口,因为只是加载,不需要用获取的Class去创建对象,所以对资源消耗不大,而且省略了xml的一些繁琐配置,这样当我们需要使用接口调用实现类的方法的时候,就可以直接从接口集合里面取,当我们需要传入不同参数,也有可以直接使用接口的get实现的方法,来获取不同的实现类对象;
如果需要使用外部实现类,就可以使用xml配置一下就好了;

以上纯属个人拙见,不知道会不会有人阅读到这篇胡思乱想,个人会继续在实际开发中,使用此种方法,去验证不足之处,希望大家集思广益,共同探讨,共同进步。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10699.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注