fluent-interface相关内容

PHP 方法链还是流利的接口?

我正在使用 PHP 5,并且听说了面向对象方法中的一个新特性,称为“方法链".究竟是什么?如何实现? 解决方案 其实很简单.您有一系列 mutator 方法,它们都返回原始(或其他)对象.这样,您可以继续在返回的对象上调用方法. str = "";}函数 addA(){$this->str .= "a";返回$这个;}函数 addB(){$this->str .= "b";返回$这个;} ..
发布时间:2022-01-30 11:19:00 PHP

使用 Entity Framework 6.1 fluent API 创建唯一索引

我有一列“名称"必须是唯一的.没有外键或类似的东西. EF 6.1 最终支持通过注释创建此类索引.这已经在 SO 上讨论过了.但似乎只能通过类中的注释来完成.如何仅使用 Fluent API 做到这一点? 类似这样的: 公共类 PersonConfiguration : EntityTypeConfiguration;{公共人员配置(){HasKey(p => p.Id);属性(p ..
发布时间:2022-01-20 10:52:22 C#/.NET

如何使用 Entity Framework 4.1“仅代码"映射 char 属性?流畅的API?

我有一个具有 char 属性的对象: 公开课产品{公共字符代码{得到;放;}} Entity Framework 似乎无法映射字符(当我从模型对象创建数据库架构时,数据库中缺少此字段).无论如何我可以使用流利的 API 映射字符(例如到字符串)吗?我不想更改模型对象,因为它们是旧共享库的一部分. 解决方案 Char 不是实体框架的有效原始类型 = 实体框架没有映射它.如果您检查 CSD ..
发布时间:2022-01-12 20:09:25 其他开发

如何做一个 PHP 嵌套类或嵌套方法?

我如何在 PHP 中执行此操作 $myDBClass->users()->limit(5);//输出你限制用户为5$myDBClass->comments()->limit(3);//输出你限制的评论为3 我的意思是嵌套方法或嵌套类(我不知道!)所以当我作为用户的孩子调用 limit 方法时,它会知道我是从“用户"方法 - 或类 - 调用它时,当我从评论中调用 limit 方法 - 或类! - ..
发布时间:2021-12-22 09:10:45 PHP

在 C# 3 中编写流畅接口的技巧

我正在寻找有关 C# 中流畅界面的一些好技巧.我自己只是在学习它,但很想听听我正在阅读的文章之外的其他人的想法.特别是我追求: 什么时候流利太多了? 有流畅的模式吗? C# 中什么使流畅的接口更加流畅(例如扩展方法) 复杂的流畅界面仍然是流畅的界面吗? 重构以获得流畅的界面或重构现有的流畅界面 有没有您曾经合作过或可以推荐的好例子? 如果您可以发布一个提示或想法,或者每个帖子 ..
发布时间:2021-12-22 09:08:16 C#/.NET

C#中的流畅接口和继承

我会举例说明一个问题.有一个接口流畅的基类: class FluentPerson{私人字符串_FirstName = String.Empty;私人字符串 _LastName = String.Empty;公共 FluentPerson WithFirstName(string firstName){_名字=名字;返回这个;}公共 FluentPerson WithLastName(strin ..
发布时间:2021-12-17 19:31:29 C#/.NET

C# 中可以进行部分泛型类型推断吗?

我正在为我的 IoC 类库重写流畅的界面,当我重构一些代码以通过基类共享一些通用功能时,我遇到了一个障碍. 注意:这是我想要做的事情,而不是我必须做的事情.如果我不得不使用不同的语法,我会,但如果有人知道如何让我的代码按照我想要的方式编译,那将是最受欢迎的. 我希望某些扩展方法可用于特定的基类,并且这些方法应该是通用的,具有一个通用类型,与方法的参数相关,但这些方法还应返回与调用它们的 ..
发布时间:2021-12-15 09:41:40 C#/.NET

设计一个流畅的 Javascript 接口来抽象出 AJAX 的异步特性

我将如何设计 API 来隐藏 AJAX 和 HTTP 请求的异步特性,或者基本上延迟它以提供流畅的界面.展示来自 Twitter 的新 Anywhere API 的示例: //获取@ded 的前 20 个状态,只过滤那些//提及摄影,并将每个渲染成一个 HTML 元素T.User.find('ded').timeline().first(20).filter(filterer).each(fun ..
发布时间:2021-12-14 20:40:38 前端开发

方法链 - 为什么这是一个好习惯,或者不是?

方法链 是对象方法返回对象本身以便结果被调用另一种方法.像这样: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() 这似乎被认为是一个很好的做法,因为它产生了可读的代码,或“流畅的界面".然而,对我来说,它似乎打破了面向对象本身隐含的对象调用符号 - 结果代码并不表示对 ..
发布时间:2021-12-11 23:45:23 其他开发

如何使用实体框架 4.1“仅代码"映射 char 属性?流畅的API?

我有一个具有 char 属性的对象: 公共类产品{公共字符代码{得到;放;}} Entity Framework 似乎无法映射字符(当我从模型对象创建数据库架构时,数据库中缺少此字段).无论如何我可以使用 fluent API 映射字符(例如到字符串)?我不想更改模型对象,因为它们是遗留共享库的一部分. 解决方案 Char is not valid original type for ..
发布时间:2021-12-08 20:56:15 其他开发

PHP 方法链或流利的接口?

我正在使用 PHP 5,并且听说了面向对象方法中的一个新功能,称为“方法链".究竟是什么?我该如何实施? 解决方案 其实很简单.您有一系列 mutator 方法,它们都返回原始(或其他)对象.这样,您就可以继续调用返回对象的方法. str = "";}函数 addA(){$this->str .= "a";返回 $this;}函数 addB(){$this->str .= "b";返回 ..
发布时间:2021-12-01 10:28:41 PHP

DSL/流畅接口的意义何在

我最近观看了关于如何创建流畅的 DSL 的网络广播,我有承认,我不明白人们为什么会使用这种方法(至少对于给定的例子). 网络广播提供了一个图像大小调整类,它允许您使用以下语法(使用 C#)指定输入图像、调整其大小并将其保存到输出文件: Sizer sizer = new Sizer();sizer.FromImage(inputImage).ToLocation(输出图像).ReduceB ..
发布时间:2021-11-15 20:59:34 C#/.NET

使用 clone() 和非 final 字段的流利类的线程安全

这个 fluent like 类并不是严格不可变的,因为字段不是最终的,但它是线程安全的,为什么? 我关心的线程安全问题不是竞争条件,而是变量的可见性.我知道有一种使用最终变量和构造函数而不是 clone() + 赋值的解决方法.我只是想知道这个例子是否是一个可行的替代方案. 公共类 IsItSafe 实现 Cloneable {私人 int foo;私人int吧;公共 IsItSafe ..
发布时间:2021-09-07 18:39:19 Java开发

持久化复杂的测试数据

我们正在使用构建器模式来生成测试数据.这些领域对象之间有关系.我们的功能测试需要持久化这些对象. 想想这个模型: 如果我想要一个普通的 C 实例,我可以 aNew().c().build() 如果我希望它被持久化,我会执行 aNew().c().saveIn(session) 如果我想要一个具有已知 B 的 C 实例,我会执行 aNew().c().with(b).buil ..
发布时间:2021-09-06 18:48:03 其他开发

你能在 Python 的核心类型上猴子补丁方法吗?

Ruby 可以向 Number 类和其他核心类型添加方法以获得如下效果: 1.should_equal(1) 但似乎 Python 无法做到这一点.这是真的?如果是这样,为什么?和type不能修改有关系吗? 更新:与其讨论猴子补丁的不同定义,我只想关注上面的示例.我已经得出结论,正如你们中的一些人所回答的那样,这是不可能的.但我想更详细地解释为什么不能这样做,也许什么特性(如果在 Pyt ..