15 minpresentation

Chain Implementation Patterns

Chain Implementation Patterns

0 / 7 completed

Fluent Chain Building

typescript
1class ValidationChain {
2 private handlers: AddressHandler[] = [];
3
4 add(handler: AddressHandler): this {
5 this.handlers.push(handler);
6 return this;
7 }
8
9 build(): AddressHandler {
10 for (let i = 0; i < this.handlers.length - 1; i++) {
11 this.handlers[i].setNext(this.handlers[i + 1]);
12 }
13 return this.handlers[0];
14 }
15}
16
17// Usage
18const chain = new ValidationChain()
19 .add(new FormatValidator())
20 .add(new PostalCodeValidator())
21 .add(new GeocodingValidator())
22 .build();
Step 1 of 7
← → NavigateSpace: Skip / NextEnter: Next