`

service的理解

    博客分类:
  • DDD
阅读更多
理解ddd中的service

application-->serivce--->repository--->dao--->db

对于service的理解得重新认识.
过去把所有东西都是放在action里面,后来加了service,但是service与dao有重复.
有人提意,合并service,dao接口.

现在从DDD中重新学习service.

-----------------------------------------------------
我们知道,在领域设计中,划分为三种模型,分别为:实体(Entity)、值对象(Value Object)、和服务(Service)。其中Service与我们传统设计中的Service有什么不同呢?

让我们来回忆一下,通常我们针对将读写xml、资金转账等代码放在service中,可以看出,该层包括了两种含义,一种是与业务无关的,一种是与业务紧密关联的。领域驱动设计将这两层含义进一步划分,《Domain-Driven Design》中的例子那样:如果银行应用可以将我们的交易转化并输出电子表格文件,那么这种输出就应该是应用服务。而负责处理资金转帐的借贷关系,应该属于领域层,它包括了基本的业务逻辑,而技术层上的服务则根本没有任何业务含义。由此得知,将传统设计中的Service继续划分,得到应用服务与领域服务。领域层和应用层的服务是相互合作,由应用Service指挥领域对象来解决问题。
2
0
分享到:
评论
2 楼 hifun 2008-09-07  
service和dao编码是类似,但是从设计角度看刚好能给他们分层。
1 楼 lu_pp 2008-09-01  
service与dao是会有类似,但是面对的操作对象还是不太一样的
我曾经也想过合并,但是后来发现合并后不好,有些操作不好划分

相关推荐

    service理解demo

    在Android应用开发中,`Service` 是一个非常重要的组件,用于在后台长时间运行任务,即使用户界面已经关闭。本文将深入探讨`Service`的工作机制,包括`startService()`、`bindService()`、`onStartCommand()`、`on...

    xml web service 学习资料

    ### XML Web Service 学习资料综合知识点 ...通过深入理解这些概念和技术,学习者可以掌握XML Web Service的核心原理和实践应用,从而在实际项目中有效地利用Web Service进行系统集成和数据交换。

    深入理解aidl&service;

    深入理解aidl和service机制。 aidl是android进行系统间通信的借口描述语言,仔细分析由aidl生成的java类,你会发现code是用的是proxy design pattern,能看到这层就会觉得google的设计其实真的是很巧妙。如果需要...

    深入理解Service1

    在Kubernetes(K8s)集群中,Service是核心概念之一,它为一组相似的Pod提供了一个稳定的网络接口和负载均衡。Service的主要作用是抽象出...理解并熟练运用Service的各种类型和配置,是高效管理Kubernetes集群的关键。

    android service 简单实例源代码

    本篇文章将深入解析"android service 简单实例源代码",帮助你理解如何在Android应用中创建和使用Service。 首先,我们来了解一下Service的基本概念。Service主要分为两种类型:标准Service和IntentService。标准...

    Activity绑定Service(Kotlin)

    在Android应用开发中,...通过理解Service的生命周期、使用Kotlin的特性以及正确的通信机制,开发者可以构建出高效、稳定的应用。在实践过程中,一定要注意Service的正确管理和内存管理,确保应用的稳定性和性能。

    Service 启动与停止

    在Android应用开发中,理解Service的启动与停止机制对于创建高效、稳定的后台服务至关重要。 一、Service概述 Service是在Android应用程序中用于实现无界面、长时间运行任务的组件。它可以在用户界面关闭或者应用...

    不被杀死 service

    1. **Service生命周期**:理解Service的onCreate(), onStartCommand(), onBind(), onRebind(), onUnbind(), onDestroy()等生命周期方法是关键。合理地重写这些方法,可以确保Service在被系统停止后能正确恢复。 2. ...

    oracle service_name参数

    ### Oracle Service_Name 参数详解 #### 一、概述 在Oracle数据库管理中,`service_name`是一个重要的参数,它...此外,理解`service_name`与监听器之间的关系也有助于更好地管理多实例环境下的Oracle数据库系统。

    android service 之一 (start service)

    首先,理解Service的基本概念至关重要。Service并非在单独的线程中运行,而是与应用程序的主线程共享,这意味着如果不手动处理,Service的操作可能会阻塞UI。为了解决这个问题,通常会在Service中创建一个新的工作...

    通过Service播放音频的代码

    首先,我们来理解Service的基本概念。在Android系统中,Service主要分为两种类型:Bound Service(绑定服务)和Started Service(启动服务)。在这个例子中,我们关注的是Started Service,因为它适合于执行一个长...

    activity service 数据交互

    首先,理解Activity与Service的通信方式至关重要。主要有以下几种: 1. **Intent**: 这是最常见的通信方式,通过Intent对象传递数据给Service。启动Service时,可以在Intent中添加额外的数据,Service通过...

    service之service传递数据给Activity

    首先,我们需要理解Android中的绑定服务(Bound Service)和启动服务(Started Service)两种类型。绑定服务允许Activity直接与Service交互,通过接口调用方法来获取数据。启动服务则是在后台执行一个任务,通常不...

    ServiceDemo.zip

    Service是Android系统中的四大组件之一,它是后台运行的服务,不提供用户界面,通常用于执行长时间运行...通过这些示例,你可以深入理解Service的工作原理和实际应用,从而更好地掌握Android应用开发中的后台服务处理。

    android_service.rar

    "android_service.rar"这个压缩包文件很可能包含了关于如何使用和理解Android Service的详细示例代码,对于深入学习Service组件至关重要。 首先,Service的基本概念:Service是一个没有用户界面的组件,它可以执行...

    Android防止service多次执行startCommand

    在提供的压缩包"ServiceDemo"中,可能包含了实现上述防止Service多次执行的示例代码,你可以下载并研究其具体实现方式,以便更深入地理解这个概念。通过学习和实践,你将能够更好地掌握Android Service的管理和控制...

    servicedemo

    理解这些方法的调用顺序对于正确管理Service至关重要,以防止内存泄漏和资源浪费。 8. **服务的生命周期状态转换** - 当Service第一次启动时,`onCreate()`被调用。 - 接着,调用`onStartCommand()`,每次收到`...

    Service的入门,主要介绍service的概念和使用方法

    总的来说,这个资料包提供了一个全面的Service学习路径,从基础概念到实践技巧,对于想要深入理解Android Service的开发者来说是一份宝贵的资源。通过学习这些内容,你将能够熟练地在应用中集成和管理Service,提升...

    android多个activity和一个service通信

    总之,Android中的Activity和服务通信是一项核心技能,理解和掌握以上方法将有助于构建更稳定、高效的应用。在实际开发中,应根据需求选择合适的通信方式,并注意处理好生命周期和异常情况,以保证良好的用户体验。

    获取Service中的信息

    在Android应用开发中,Service是四大组件之一,它在后台执行长时间运行的操作,不与用户交互。本篇文章将深入探讨如何...通过阅读和分析这些代码,开发者可以加深对Service通信机制的理解,并在自己的项目中灵活应用。

Global site tag (gtag.js) - Google Analytics