首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏影像技术栈

    Camera系统 | HFR Usecase分析

    m_logicalCameraInfo[logicalCameraId].m_pCamera3Device = pCamera3Device; // 根据CameraInfo找到匹配Usecase logicalCameraId, selectedUsecaseId); // FastShutter mode supported only in ZSL usecase = selectedUsecaseId) { // 根据UsecaseId创建Usecase对象,HFR的UsecaseId是default m_pSelectedUsecase m_FPSValue); CAMX_ASSERT(m_usecaseNumBatchedFrames > 1); } else { // Not a HFR usecase PS: HFR Usecase需要帧率大于等于120fps。

    3.2K20编辑于 2023-03-14
  • 来自专栏程思阳的专栏

    Android四大架构的优缺点

    Clean 架构的特点和不足 为解决 Presenter 职能边界不明确 的问题,在 Clean 架构中,业务逻辑的职能被转移到领域层,由 Usecase 专职管理。 View -> ViewModel -> Usecase -> Model 。 View 对 ViewModel 的单向依赖,是通过 databinding 特性实现的。 ViewModel 只负责代理数据请求,在 Usecase 处理完业务返回结果数据时,结果数据被赋值给可观察的 databinding 数据,而 View 则依据数据的变化而变化。 一个 Usecase 受限于请求参数,因而只能处理一类请求。View 请求的数据包含几种类型,就至少需要准备几个 UsecaseUsecase 是依据当前 View 对数据的需求量身定制的,因此 Usecase 的复用率极低,项目会因而急剧的增加类和重复代码。

    61310编辑于 2022-01-10
  • 来自专栏difcareer的技术笔记

    Android架构分析【三】mvp-cleanClean Architecture代码分析总结

    围绕Task有若干包含业务逻辑的usecase:DeleteTask、GetTask、SaveTask。 model和usecase共同构建了domain Layer(当然model可能只有一个,但是针对特定业务可能有不同的usecase,所以不一定要usecase和model在每个业务中都同时存在)。 我们看一个具体的usecase: public class GetTask extends UseCase<GetTask.RequestValues, GetTask.ResponseValue> { .onError(); } }); } public static final class RequestValues implements UseCase.RequestValues showSaveError(); } }); } } 现在的Presenter不再直接和Data Layer交互,而是使用各种usecase

    1.3K20发布于 2018-08-23
  • 来自专栏Golang语言开发栈

    Go 语言整洁架构实践

    Usecase 层,我们可以将业务逻辑代码放在该层,它负责接收表示层的输入数据,将数据处理之后,调用 Repository 层,将处理后的数据存储在数据库或传递给调用的微服务。 同时,它也负责接收用户输入的数据,将数据传递给 Usecase 层。该层依赖 Usecase 层。 Usecase 层通过接口与 Repository 层通信。 层之间通信,Usecase 层定义接口,并实现接口中的所有方法。 Delivery 层通过接口与 Usecase 层通信。

    80220编辑于 2022-05-17
  • 来自专栏Golang语言开发栈

    Go 语言中怎么使用依赖注入?

    层依赖 Repository 层,Delivery 层依赖 Usecase 层。 以 Repository 层和 Usecase 层为例,我们可以发现 Usecase 层通过构造函数 func NewTodoListUsecase(t models.TodoListRepository 所以,我们使用 Usecase 层的构造函数 NewTodoListUsecase 创建 Usecase 对象时,需要先使用 Repository 层的构造函数 NewMysqlTodoListRepository 创建 Repository 对象,并将其以参数的形式传递给 Usecase 层的构造函数 NewTodoListUsecase。 比如示例代码中 Repository 层的方法修改代码,不会影响 Usecase 层的代码。

    54910编辑于 2024-04-02
  • 来自专栏设计模式

    跟着google学习mvp架构(clean篇)

    其包装都是通过一个个UseCase来完成V层和M层的交互的。 2 文件目录 ? 我们看看基础的文件目录的不同,其添加了一个domain的一个目录,里面有usecase的目录,用于对Task的操作。 usecase里面就是一些公用的任务类。 ? 最主要的核心就是代码每个XXXTask的任务都需要继承于UseCase UseCaseHandler完成每个任务的调度和回调方法。 基本分析一下UseCase ? 然后InJection.java里面提供了一堆的useCase的对象的静态方法provideXXX ? 通过UseCaseScheduler的excute的方法,再嵌入useCase的runnable调用。 ?

    92950发布于 2020-12-15
  • 来自专栏CSWH技术博客

    ARTS_202207W2

    (new int[]{2, 4, 3}); ListNode l2 = UseCase_LinkedList.createLinkedList(new int[]{5,6,4}); ListNode sum_ListNode = addTwoNumbers(l1, l2); UseCase_LinkedList.printLinkedList(sum_ListNode ); ListNode l1_2 = UseCase_LinkedList.createLinkedList(new int[]{9,9,9,9,9,9,9}); ListNode l2_2 = UseCase_LinkedList.createLinkedList(new int[]{9,9,9,9}); ListNode sum_ListNode_2 = addTwoNumbers (l1_2, l2_2); UseCase_LinkedList.printLinkedList(sum_ListNode_2); } public static ListNode

    47220编辑于 2022-08-01
  • 来自专栏码匠的流水账

    聊聊go-bank-transfer项目对Clean Architecture的实践

    validator ├── domain ├── infrastructure │ ├── database │ ├── log │ ├── router │ └── validation └── usecase 这里分为adapter、domain、infrastructure、usecase四层 domain account type AccountID string func (a AccountID Transfer) CreatedAt() time.Time { return t.createdAt } transfer定义了TransferRepository接口及Transfer类型 usecaseusecase git:(master) tree . ├── create_account.go ├── create_account_test.go ├── create_transfer.go 层定义的接口 小结 go-bank-transfer工程在domain层定义了model及repository接口,usecase层定义了usecase及presenter接口,同时调用domain层实现业务编排

    43820发布于 2021-03-25
  • 来自专栏码匠的流水账

    聊聊go-bank-transfer项目对Clean Architecture的实践

    validator ├── domain ├── infrastructure │ ├── database │ ├── log │ ├── router │ └── validation └── usecase 这里分为adapter、domain、infrastructure、usecase四层 domain account type AccountID string func (a AccountID ➜ usecase git:(master) tree . ├── create_account.go ├── create_account_test.go ├── create_transfer.go transfer_mongodb.go │ └── transfer_postgres.go └── validator └── validator.go adapter层实现了domain与usecase 层定义的接口 小结 go-bank-transfer工程在domain层定义了model及repository接口,usecase层定义了usecase及presenter接口,同时调用domain

    56300发布于 2021-03-21
  • 来自专栏刘望舒

    Android四大架构的优缺点,你真的了解吗?

    为解决 Presenter 职能边界不明确 的问题,在 Clean 架构中,业务逻辑的职能被转移到领域层,由 Usecase 专职管理。 View -> ViewModel -> Usecase -> Model 。 View 对 ViewModel 的单向依赖,是通过 databinding 特性实现的。 ViewModel 只负责代理数据请求,在 Usecase 处理完业务返回结果数据时,结果数据被赋值给可观察的 databinding 数据,而 View 则依据数据的变化而变化。 一个 Usecase 受限于请求参数,因而只能处理一类请求。View 请求的数据包含几种类型,就至少需要准备几个 UsecaseUsecase 是依据当前 View 对数据的需求量身定制的,因此 Usecase 的复用率极低,项目会因而急剧的增加类和重复代码。 ?

    75520发布于 2018-12-07
  • 来自专栏Android Camera开发

    高通CamX关键流程

    3.2 创建Usecase 根据之前选择的UsecaseId,通过UsecaseFactory来创建相应的Usecase, 其中Class Usecase是所有Usecase的基类,其中定义并实现了一些通用接口 ,CameraUsecaseBase继承于Usecase,并扩展了部分功能。 在AdvancedCameraUsecase::Create方法中做了很多初始化操作,其中包括了以下几个阶段: 获取XML文件中Usecase配置信息 创建Feature 保存数据流,重建Usecase BuildUsecase:这个方法用来重新在原有的Usecase上面加入了Feature中所需要的pipeline,并创建了一个新的Usecase,并将其存入AdvancedCameraUsecase中的 中 Usecase接收到来自Session的数据,并将其上传至Provider 首先来看下Session内部完成图像数据的处理后是如何将结果发送至Usecase的: ?

    7.6K44发布于 2021-05-18
  • 来自专栏Android Camera开发

    高通CamX架构

    Usecase的可定制化部分被抽象出来放在了common_usecase.xml文件中, 这里简单介绍其中的几个主要的标签含义: UsecaseName: 代表了该Usecase的名字,后期根据这个名字找到这个 Usecase的定义。 Feature选取工作是在Usecase中完成的,通过在创建Feature的时候,传入Usecase的实例的方式,来和Usecase进行相互访问各自的资源。 其次,在Usecase中,Feature是一个可选项,如果当前用户选择了HDR模式或者需要在Zoom下进行拍照等特殊功能的话,在Usecase创建过程中,便会根据需要创建一个或者多个Feature,一般一个 然后,每一个Usecase或者Feature都可以包含一个或者多个Session,每一个Session都是直接管理并负责了内部的Pipeline的数据流转,其中每一次的Request都是Usecase或者

    3.7K61发布于 2021-05-18
  • 来自专栏ceshiren0001

    技术分享 | 被测系统架构与数据流分析

    使用用例图梳理业务流程 @startuml left to right direction actor User as user actor Admin as admin package 商品 { usecase "发布商品" usecase "浏览商品" usecase "购买商品" usecase "下架商品" } package 订单 { usecase "结算订单" usecase "查询订单" usecase "退款" usecase "管理订单" } admin -up-> 发布商品 admin -up-> 下架商品 admin -up-> 管理订单 user

    69520编辑于 2022-05-17
  • 来自专栏Khan安全团队

    CVE-2021-22986 F5 BIG-IP/BIG-IQ RCE

    Utilities.isNullOrEmpty(taskState.filePath)) { File agcUseCasePackDir = new File("/var/apm/f5-iappslx-agc-usecase-pack Please ensure that usecase pack is a valid tar archive. ShellExecutionResult rpmQueryResult) { IAppBundleInstallTaskCollectionWorker.this.failTask(taskState, "Usecase Please ensure that usecase pack is a valid tar archive. 16 Mar 2021 21:34:37 UTC][8100/tm/access/bundle-install-tasks IAppBundleInstallTaskCollectionWorker] Usecase

    67520发布于 2021-03-24
  • [鸿蒙2025领航者闯关] Flutter + OpenHarmony 自动化测试体系:从单元测试到真机巡检的全链路保障

    工具链 测试框架:test(官方) Mock 框架:mocktail(无反射,兼容 Flutter Web & OH) 覆盖率工具:flutter test --coverage 2.2 示例:测试 UseCase ; setUp(() { mockRepo = MockHealthRepository(); useCase = FetchHealthDataUseCase(mockRepo) > mockRepo.getHealthData()).thenAnswer((_) async => testData); // Act final result = await useCase = MockFetchHealthDataUseCase(); when(() => useCase()).thenAnswer((_) async => HealthData(heartRate : 80)); // Act await tester.pumpWidget( MaterialApp( home: HealthPage(fetchData: useCase

    13910编辑于 2026-02-09
  • 来自专栏向治洪

    PlantUML画图软件简介

    3.2 用例图 用例图(Usecase Diagram)是用户与系统交互的最简表示形式,主要用于展现用户和与他相关的用例之间的关系。通过用例图,我们可以很方便地表示出系统中各个角色与用例之间的关系。 package Professional { actor Chief as c actor "Food Critic" as fc } package Restaurant { usecase "Eat Food" as uc1 usecase "Pay For Food" as uc2 usecase "Drink" as uc3 usecase "Review" Graphviz 用例图有一些参数说明如下 left to right direction表示按从左到右的顺序绘制用例图,默认是从上到下; package可以对角色和用例进行分组; actor可以定义用户; usecase usecase @enduml 虽然,目前可以绘制UML图的图形化工具很多,但是对于程序员来说,使用代码来绘图可能更直接。

    2.1K20编辑于 2021-12-30
  • 来自专栏Android Camera开发

    Android 高通Camx架构学习 - 第1章

    1) UseCase A set of streams configured by the client combined with a set of static properties specifying 假设我预览设置的size是1080 x 720,录像是1080p的,那这个1080 x 720预览+1080p录像就是一个usecase(用例)。其它类推。 //UseCase: 预览+录像 List<Surface> surfaces = new ArrayList<>(); if(previewSurface ! 在camx中很有很多衍生类,这是camx针对不同的stream来建立不同的usecase对象,用来管理选择feature,并且创建 pipeline以及session。 上层根据需求,config对应的stream下来,下面会根据申请的stream来选择对应的usecaseusecase选择完成后,又会去选择需要的feature,然后不同的feature会去关联对应的

    2.8K30发布于 2021-04-30
  • 来自专栏全栈程序员必看

    staruml画用例图连线_画用例图的例题

    好久没画图在StarUML里都找不到useCase了,记下来不然又忘了 右击Untitled->Add Diagram->UseCase Diagram,然后左边就有UseCase了就可以画用例图了

    2.6K30编辑于 2022-10-03
  • 来自专栏小鄧子的技术博客专栏

    【译】Android技术栈,1#架构

    Domain module Domain module存放着一些usecase和它们的实现类,它们是应用程序的业务逻辑。 这个module完全独立于Android framework。 一个usecase可以用来获得不同类别电影的总评分,看一看哪个类别的电影最受欢迎,usecase需要获取信息然后做出计算,所有这些信息都由Model层提供。 它与执行usecase的Domain进行交互,比如可以用来获取某一时段的电影列表,或者从某部电影中获取特殊的数据。 这个模块只包含Presenter和View。 我定义了两个Bus,一个用来使usecase和REST API进行通信,另一个用来发送事件至Presentation 层。 Presenter运行GetMoviesUseCase这个usecase

    70030发布于 2018-08-20
  • 来自专栏于晓飞的专栏

    Java 注解 学习笔记

    例子: @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface UseCase { public public String description() default "no description"; } 用法: public class PasswordUtils { @UseCase (UseCase.class); if (uc ! 其中useCases列表包含了所有应当包含的测试用例,PasswodUtils是所有UseCase测试源代码所在的类。 如果一个方法被UseCase注解修饰,获取这个UseCase对象,并取出它的所有元素值。打印UseCase的信息,并在useCases中删除这Usecase编号。最后打印所有没有编写的用例编号。

    70110发布于 2018-09-11
领券