标签: builder

使用Bloch的Builder Pattern是否会记忆和性能?

与仅使用构造函数创建对象相比,内存和性能使用情况如何?

这里的用法是创建一个Set<Object>或者List<Object>可能包含百万条以上的条目,我担心使用Bloch的Builder模式的开销.我过去曾经使用过它,但从未在这么大的范围内使用它.

参考:第2项:在面对许多构造函数参数时考虑构建器,在创建和销毁Java对象中重印:第1部分,摘自Joshua Bloch的Effective Java Second Edition.

java memory performance design-patterns builder

9
推荐指数
1
解决办法
1754
查看次数

在Interface Builder和XCode中连接UILabel?

我正在尝试做一些简单的事情,如在XCode和IB中为视图添加标签,我无法弄清楚如何做到这一点.我在网上找到的所有样品都是旧版本的IB,因此说明不正确.

我的.xib文件上有一个标签,在我的Controller.h文件中,我有一个IBOutlet UILabel声明了一个Property设置.

在我的Controller.m文件中,我合成了该属性.

在Interface Builder中,我不能为我的生活找出如何将我的代码中的标签与.xib上的Label相关联.每当我尝试将Connection连接到File的Owner时,唯一显示的选项是"View".

如果我在Interface Builder的Library窗口下查看Controller,Label会在Outlets下显示为UILabel.我很确定它曾经是一个类型"id",但它会自动显示为UILabel,如果我尝试添加"id",它也不起作用.

有人能指点我到某个地方解释这个愚蠢的事情吗?使标签有文字不应该这么困难.

iphone xcode interface builder objective-c

9
推荐指数
1
解决办法
3万
查看次数

Rails 3/Cucumber问题:"...已激活构建器3.0.0,但您的Gemfile需要构建器2.1.2"

我已经使用黄瓜毫无困难地使用Rails 3了一段时间,但是经过今天的一大堆修补(包括宝石清理),每当我运行"黄瓜功能"时,我都会收到以下错误

您已经激活了构建器3.0.0,但您的Gemfile需要构建器2.1.2.考虑使用bundle exec.(宝石:: LoadError)

在我的机器上的多个铁轨项目中尝试过 - 所有这些都受到影响.不太确定如何解决这个问题 - 尝试安装2.1.2并在gemfile中指定它,但没有快乐.

"捆绑exec黄瓜功能"确实有效,但它似乎与自动测试没有很好的配合.

关于我所做的事情(以及更好的解决方法)的任何建议都非常感激.

ruby-on-rails builder cucumber

9
推荐指数
2
解决办法
2526
查看次数

symfony 2.3表单getData在子表单集合中不起作用

我有一个包含集合的表单.所以我有:

/* my type */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
    ->add('name')
    ->add('photos','collection',array(
        'type'=> new PhotoType(),
        'allow_add'=>true));
}

/*Photo Type*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
    ->add('photoname')
    ->add('size')
}
Run Code Online (Sandbox Code Playgroud)

但我想访问照片中的数据,所以我尝试在PhotoType中:

$data = $builder->getData();
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,即使我正在编辑表单,所以照片集合有数据.为什么我不能以另一个调用的形式访问$ builder-> getData()?因为我正在尝试不做和eventListener ......

forms collections builder symfony

9
推荐指数
1
解决办法
9885
查看次数

Setter AND(不是OR或VS)构建器模式

我有一种情况,我使用构建器模式来构造一个对象.最好的例子是披萨代码

public class Pizza {
  private int size;
  private boolean cheese;
  private boolean pepperoni;
  private boolean bacon;

  public static class Builder {
    //required
    private final int size;

    //optional
    private boolean cheese = false;
    private boolean pepperoni = false;
    private boolean bacon = false;

    public Builder(int size) {
      this.size = size;
    }

    public Builder cheese(boolean value) {
      cheese = value;
      return this;
    }

    public Builder pepperoni(boolean value) {
      pepperoni = value;
      return this;
    }

    public Builder bacon(boolean value) {
      bacon = …
Run Code Online (Sandbox Code Playgroud)

java design-patterns builder

9
推荐指数
1
解决办法
6779
查看次数

与Java 8流的生成器模式

我正在使用一个简单的循环构建一个对象:

WebTarget target = getClient().target(u);

for (Entry<String, String> queryParam : queryParams.entrySet()) {
    target = target.queryParam(queryParam.getKey(), queryParam.getValue());
}
Run Code Online (Sandbox Code Playgroud)

我想使用Java8 Stream API做同样的事情,但我无法弄清楚如何做到这一点.让我挣扎的是每次都重新分配目标,所以简单的.forEach()将不起作用.我想我需要使用.collect()或reduce(),因为我正在寻找单个返回值,但此刻我迷路了!

java builder java-8 java-stream

9
推荐指数
2
解决办法
4350
查看次数

XCode Storyboard本地化重复字符串合并?

我目前正在开发一个iOS应用程序,并将其本地化为多种语言,但面临一个烦人的(不打破)问题.

当我为我的故事板添加新的本地化时,xcode会自动填充字符串,这非常好.我遇到的问题是我有多个接口,都有一个后退按钮.关于这些的文本当然是相同的,他们的翻译也是如此.我想知道的问题是,有可能,不使用strings.localizable,以某种方式将多个对象翻译合并为一个?

这就是目前的样子:

"Pnu-Ec-HAj.normalTitle" = "Back";
"Rtx-fT-rdc.normalTitle" = "Back";
Run Code Online (Sandbox Code Playgroud)

但如果存在诸如此类的语法,那将会更容易

"Pnu-Ec-HAj.normalTitle", "Rtx-fT-rdc.normalTitle" = "Back"; (这种语法显然不正确)

我已经看了很久但还没有找到这个问题的任何答案.

谢谢阅读.

xcode localization interface builder ios

9
推荐指数
1
解决办法
467
查看次数

在Lombok中使用@Builder或@Getter注释的默认字段值

我正在使用Lombok @Builder注释,但我希望某些String字段是可选的,默认""为避免使用NPE.是否有捷径可寻?我找不到任何东西.

或者,@Getter如果变量是自定义以返回默认值的方法null.

java getter builder lombok

9
推荐指数
1
解决办法
8347
查看次数

仅当属性为 null 时,如何从 lombok 构建器中排除该属性

我有一个用户模型类,如下所示:

@JsonSerialize
@Getter
@Setter
@FieldDefaults(level = AccessLevel.PRIVATE)
@Builder
public class User {
    @Default
    String _dn = BASE_USER_DN;
    @Default
    String[] objectClass = {"top", "person", "organizationalPerson", "inetOrgPerson", "companyUser"};
    @Default
    String[] cn = {"user205"};
    @Default
    String[] sn = {"Dynamic2"};
    @Default
    String[] username = {"LindaDynamic2"};
}
Run Code Online (Sandbox Code Playgroud)

现在我想生成一个省略空字段的用户对象,因此:

userBody = User.builder().cn(null).build();
Run Code Online (Sandbox Code Playgroud)

将创建一个没有 cn 属性的对象,或者如果我添加了一个没有默认值的字段并且它没有在构建器上设置,它将被省略。

这可能吗?

java builder lombok

9
推荐指数
1
解决办法
1万
查看次数

Flutter - 如何在材质应用程序中调用多个构建器项目?

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      builder: BotToastInit(), //1. call BotToastInit
      navigatorObservers: [BotToastNavigatorObserver()],
      debugShowCheckedModeBanner: false,
      title: 'Pak Coins',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MySplashScreen(),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 MyApp 类,想要调用 2 个构建器

  1. BotToastInit(),
  2. EasyLoading.init() 我如何调用这两个?建造者://这里,

builder material-design flutter

9
推荐指数
2
解决办法
7069
查看次数