Code Explainers

Code explainers tagged #builder-pattern

rust
#[derive(Debug, Default)]
pub struct RequestBuilder {
    url: String,
    method: String,

The builder pattern in Rust

builder-pattern method-chaining ergonomic-api
Intermediate 8 steps
java
@RestController
@RequestMapping("/api/products")
public class ProductSearchController {
 

Binding collection query params in Spring

rest-api query-parameters dependency-injection
Intermediate 6 steps
java
public URI buildSearchUri(String query, int page, int size, List<String> tags) {
    UriComponentsBuilder builder = UriComponentsBuilder
            .fromUriString("https://api.example.com")
            .path("/v2/products/search")

Building URIs safely with UriComponentsBuilder in Spring

url-building builder-pattern encoding
Intermediate 5 steps
java
public final class HttpHeaders {
 
    private final NavigableMap<String, List<String>> values =
            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);

A case-insensitive HTTP headers map in Java

case-insensitivity multimap immutability
Intermediate 7 steps
rust
use axum::{
    extract::State,
    routing::{get, post, MethodRouter},
    Json, Router,

Self-documenting routes in Axum

builder-pattern closures shared-state
Intermediate 8 steps
rust
use std::time::Duration;
 
#[derive(Debug, Clone)]
pub struct ServerConfig {

The builder pattern in Rust

builder-pattern ownership error-handling
Intermediate 8 steps
ruby
class QueryBuilder
  def initialize(table)
    @table = table
    @wheres = []

How a chainable SQL query builder works

fluent-interface method-chaining builder-pattern
Intermediate 8 steps
php
<?php
 
namespace App\Database;
 

Building a fluent SQL query builder in PHP

fluent-interface method-chaining sql
Intermediate 10 steps
java
public final class ShippingAddress {
    private final String recipient;
    private final String line1;
    private final String line2;

Building immutable objects with the Builder pattern

builder-pattern immutability validation
Intermediate 7 steps
java
public class OrderSerializer {
 
    private final ObjectMapper mapper;
 

Configuring a reusable Jackson ObjectMapper

serialization json builder-pattern
Intermediate 8 steps