builder相关知识
-
lombok注解 @Builderlombok注解在java进行编译时进行代码的构建,对于java对象的创建工作它可以更优雅,不需要写多余的重复的代码,这对于JAVA开发人员是很重要的,在出现lombok之后,对象的创建工作更提供Builder方法,它提供在设计数据实体时,对外保持private setter,而对属性的赋值采用Builder的方式,这种方式最优雅,也更符合封装的原则,不对外公开属性的写操作!@Builder声明实体,表示可以进行Builder方式初始化,@Value注解,表示只公开getter,对所有属性的setter都封闭,即private修饰,所以它不能和@Builder现起用一般地,我们可以这样设计实体!@Builder(toBuilder = true) @Getterpublic class UserInfo { private String name; private String&nbs
-
Builder模式,今天你用了嘛1.前言在设计模式里,建造者模式你可能听起来有点陌生,但是一提到Builder模式,你可能就会稍微有点印象。这个印象可能并不是来源于你曾经写过Builder模式。而是在平常编程的时候,总会碰到一个xxx.Builder()类。这个Builder类就是我们经常在无意中用到的Builder模式,也成为建造者模式。2.常见的Builder模式我们总会在无意中用到一些Builder模式,你可能现在想不起来,那么我可以举几个例子稍微提醒一下你!Retrofit(这里面有的参数是我自己封装的类。你只需知道,Retofit的构建是通过,自身的Builder类来构造的就行)Retrofit.pngOkHttpClientOkHttpClient.pngAlertDialogAlertDialog.png3.Builder模式实例OkHttpClient源码这下是不是有了点印象。如果你稍加追究就会发现,无论是Retrofit,还是OkHttpClient亦或是AlertDialog,他们都有一个共同的特点。就是都有一个Bui
-
Builder设计模式1.定义以及UML建模图:将一个复杂的对象的构建与它的表示分离,是的同样的构建过程可以创建不同的表示.Builder设计模式.png2.使用场景:多个部件或者零件,都可以装配到一个对象中,但是产生的运行结果又相同产品类非常复杂,或者产品类中调用顺序不同产生了不同的作用初始化一个对象特别复杂,如使用多个构造方法,或者说有很多参数,并且都有默认值时。3.核心类(1) 抽象产品类 computer(2) Builder 抽象Builder,规范产品的组建,一般是由子类实现具体的组建过程。(3)MacbookBuilder 具体的Builder类,具体的创建对象的类。(4) Directror 统一组建过程以组装一台计算机为主,主要进行组装主机,设置操作系统,设置显示器。4.具体使用:4.1 计算机抽象类,Computerpublic abstract class Computer { protected&
-
vuecli + electron 的简单方式electron-builder之前介绍一个vuecli + electron的方法,最近发现一个更简单的方式 参考: https://nklayman.github.io/vue-cli-plugin-electron-builder/ 1. 用vuecli创建一个vue工程 过程省略 2. 安装electron-builder vue add electron-builder // 安装的东西很多,注意网络 // 可以先安装cnpm install --save-dev electron-chromedriver // 本人安装时,报了很多错,后来隔天新建了个工程,一下子就安装成功了 安装成功后,运行npm run electron:serve,如果出现以下页面,说明成功
builder相关课程
builder相关教程
- 3.1 Notification 的创建与展示 Android 系统为我们提供了一套非常简单的方法去创建 Notification,只需要按照以下步骤即可轻松使用:Step 1: 创建 Notification Builder创建 Notification 之前我们要构建一个 Notification Builder,关于 Builder 我们在前文中提到过,通过它我们可以设置 Notification 各种各样的属性,比如大小图标、标题、内容、优先级等等,创建 Builder 的方式很简单,通过以下代码即可完成创建:NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)Step 2: 设置 Notification 属性一旦创建了 Builder,我们就可以通过它设置 Notification 的属性从而实现我们的需求了。从第 2 小节中我们了解到 Builder 的 API 非常之多,其实大多数 API 是很少用的,我们只需要了解就好,而以下 3 个是系统强制要求设置的:设置小图标mBuilder.setSmallIcon(R.drawable.notification_icon);设置通知标题mBuilder.setContentTitle("Notification Alert, Click Me!");设置通知内容mBuilder.setContentText("Hi, This is Android Notification Detail!");Step 3: 绑定事件这一步是一个可选项,如果你有一些复杂的逻辑需要执行,那么可以给 Notification 绑定一个事件,让用户在点击通知栏的时候能够跳转到对应的 Activity 中完成相应的操作。我们通过一个 PendingIntent 来完成绑定,PendingIntent 中包含一个可以启动 Activity 的 Intent。然后使用setContentIntent(PendingIntent intent)接口将 PendingIntent 和通知关联上,这样在通知列表中点击相应的通知就可以跳转到对应的 Activity 当中了,使用方法如下:Intent intent = new Intent(context, Destination.class);PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);Notification.Builder builder = new Notification.Builder(this);mBuilder.setContentIntent(pendingIntent); Step 4: 展示通知最后,我们可以通过设置好的 Builder 构造出我们想要的 Notification,然后调用NotificationManager.notify()通知系统展示通知,示例代码如下:NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);notificationManager.notify(notificationID, builder.build());其中 notificationID 是当前通知的唯一 ID,后续可以它来更新Notification。
- 3. AlertDialog 的使用方法 AlertDialog 的用法和上一节的 Notification 类似,系统也提供了 Builder 建造者,通过 Builder 的create()方法可以创建对话框,然后通过show()方法展示,如下:AlertDialog alertDialog = alertDialogBuilder.create();alertDialog.show();
- 2.2 使用 Ruby 生成 XML 文件 生成XML我们要使用builder库。require 'builder'def product_xml xml = Builder::XmlMarkup.new( :indent => 2 ) xml.instruct! :xml, :encoding => "ASCII" xml.product do |p| p.name "Test XML" end endputs product_xml# ---- 输出结果 ---<?xml version="1.0" encoding="ASCII"?><product> <name>Test XML</name></product>之后如果需要的话将这个 XML 写入到文件中即可。
- 3.3 单选对话框 单选对话框在普通对话框的基础之上增加一个用户的输入,顾名思义,我们可以给用户提供一些选项让用户勾选,然后在点击“确定”之后获取到用户的选择。通过setSingleChoiceItems方法设置一个字符串数组作为单选项,然后通过DialogInterface.OnClickListener接口监听用户的选择操作。package com.emercy.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { final String[] hero_road = new String[] { "对抗路", "打野", "中路", "发育路", "辅助" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.alert).setOnClickListener(this); } @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alert = builder .setIcon(R.drawable.warning) .setTitle("选择你要走的峡谷分路") .setSingleChoiceItems(hero_road, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(),"我要玩" + hero_road[which], Toast.LENGTH_SHORT).show(); } }).create(); alert.show(); }}效果如下:
- 3. 小结 本章节我们了解了什么是 XML,XPath 的基本规则有哪些,在 Ruby 中使用 XPath 解析到元素。使用builder创建一个 XML 文件。
- 3.5 列表对话框 使用列表对话框会弹出一个选择列表,用户可以从列表中选择一个并直接关闭对话框,设置列表采用setItems()接口:package com.emercy.myapplication;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { final String[] hero_road = new String[] { "对抗路", "打野", "中路", "发育路", "辅助" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.alert).setOnClickListener(this); } @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog alert = builder .setIcon(R.drawable.warning) .setTitle("选择你要走的峡谷分路") .setItems(hero_road, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(),"我要走" + hero_road[which], Toast.LENGTH_SHORT).show(); } }).create(); alert.show(); }}效果如图:
builder相关搜索
-
back
backbone
background
background attachment
background color
background image
background position
background repeat
backgroundcolor
backgroundimage
background属性
badge
bash
basics
basis
bat
bdo
bean
before
begintransaction