不一样的项目有不一样的功能,不一样的功能须要不一样的实现,实现这些核心功能的代码就叫业务逻辑。业务逻辑是指一个实体单元为了向另外一个实体单元提供服务,应该具有的规则与流程。业务逻辑的内容包括四个部分:领域实体,定义了业务中的对象,对象有属性和行为;业务规则,定义了须要完成一个动做,必须知足的条件;数据完整性,某些数据不可少;工做流,定义了领域实体之间的交互关系。
想要了解更多有关于java开发的相关问题,推荐咨询千锋教育。千锋教育面授课程包括:HTML5大前端培训、Java+分布式开发培训、Python人工智能+数据分析培训、全领域实战UI/UE设计设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Unity游戏开发培训、网络安全培训、区块链培训、影视剪辑包装培训、游戏原画培训、全媒体运营培训等,实力强大,欢迎咨询。
1 什么是接口接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。
接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。
接口是在一定粒度视图上同类事物的抽象表示。因为“同类事物”这个概念是相对的,它因为粒度视图不同而不同。
2 为什么要使用接口?而不是直接实现呢?
接口的使用并非总是从设计的角度来考虑。接口和python其他语法现象一样,共同构成了python整个语言体系。
接口的意义在于 抽象、不拘细节,从而使同类事物在同一高度具有通用及可替代性。
关于解耦,并不是接口能解耦,而是抽象能解耦 接口只是手段,如果两个事物有必然联系,那么就不会出现完全解耦,只能耦合转移。
在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。
系统灵活性增强
当下层需要改变时,只要接口及接口功能不变,则上层不用做任何修改。甚至可以在不改动上层代码时将下层整个替换掉,就像我们将一个WD的60G硬盘换成一个希捷的160G的硬盘,计算机其他地方不用做任何改动,而是把原硬盘拔下来、新硬盘插上就行了,因为计算机其他部分不依赖具体硬盘,而只依赖一个IDE接口,只要硬盘实现了这个接口,就可以替换上去。
不同部件或层次的开发人员可以并行开工
就像造硬盘的不用等造CPU的,也不用等造显示器的,只要接口一致,设计合理,完全可以并行进行开发,从而提高效率。
那么具体什么时候用,什么时候不用呢?在常见的三层架构中,有以下几个层次,分别进行说明:
界面层
也就是展示层,直接呈现给用户的,可能不同的软件有不同的呈现方式,比如Web,WinForm,甚至移动APP,在这个层次,我认为是没有必要写太多的接口。
业务逻辑层
这个层次,业务逻辑,可以根据需要使用接口。如果是直接读写数据库什么的,就直接用调用数据库访问层的接口。如果是与多个第三方接口进行交互,那么就需要接口,不同的渠道各自实现。
数据访问层 数据访问层,最好使用接口,比如数据库访问,这种可以根据不同的数据库实现相应的接口向业务逻辑层提供服务。
可能在开发的时候,一开始我们并没有想到要使用接口。可能简单就用一个类实现了。到后面新的需求过来的时候,发现代码需要重构,要用接口和抽象类等等。这个也需要看个人编码的习惯。有的人就长篇大论一个类完成所有的逻辑。这样的开发人员,应该是很少见过好的代码,如果见过的话,后面肯定会精简做到更好。
而另外一些人可能一开始就能嗅出来哪些地方需要使用接口,哪些地方使用抽象类,这也是一种思维方式。前面一种只管开发当前的功能。而后面一种则会考虑到以后的扩展。总而言之,需要根据不同的情况进行考虑。
业务逻辑层,主要是协调表现层(MVC)和数据层(DAO)的交互。你说的业务逻辑接口biz,主要是定义方法接口,也就是为表现层提供数据或处理业务逻辑的方法。接口的实现类主要是根据接口定义的方法,来实现接口,实现类中主要写对数据层数据的 *** 作(增,删,查,改),或是对业务逻辑 *** 作(比如传入一个List,根据某些规则删除list中的某些数据),当然还是很多东西,实际中用到了就知道。还是有就是,一个接口可能会有多个实现类,实现类根据环境的不同来选择,比如定义一个 *** 作数据库的接口,当我是MYSQL数据时,可能会选择实现类1,当选择ORACLE时,会选择实现类2。以上纯属个人观点,若有错误请谅解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)