# G ∘ F Patterns

- Institution: CERN
- Department: Conferences
- Speaker: Mario Fusco
- Year: 2017
- Language: English
- Source: [CERN](https://videos.cern.ch/record/3015551)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Teens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

The book of design patterns known as Gang of Four has been a kind of Bible for all the developers of my generation. Its main pro has been giving us a common vocabulary: when a programmer says "here I used a strategy pattern" all colleagues know of what he is speaking about. Nevertheless the biggest issue with this is that almost all patterns listed in that book, especially the behavioural ones, are a only workaround for a missing abstraction: higher order functions. The introduction of lambda expressions in Java 8 finally allows all Java developers to remove this no longer necessary and cumbersome object oriented infrastructure from their code. The purpose of this talk is showing, through a series of live coding examples, how the most common GoF patterns can be rethought and reimplemented in a simpler and more concise functional way leveraging Java 8 lambdas..

0:00:00 Slide 1

0:04:17 Slide 2

0:05:00 Slide 3

0:05:59 Slide 4

0:06:27 Slide 5

0:14:43 Slide 6

0:17:16 Slide 7

0:20:47 Slide 8

0:22:59 Slide 9

0:24:12 Slide 10

0:25:15 Slide 11

0:28:29 Slide 12

0:31:50 Slide 13

0:31:54 Slide 14

0:33:57 Slide 15

0:34:02 Slide 16

0:34:10 Slide 17

0:34:14 Slide 18

0:34:18 Slide 19

0:34:38 Slide 20

0:34:42 Slide 21

0:36:54 Slide 22

0:38:45 Slide 23

0:40:32 Slide 24

0:42:04 Slide 25

0:42:08 Slide 26

0:43:22 Slide 27

0:43:33 Slide 28

0:43:43 Slide 29

0:43:47 Slide 30

0:43:53 Slide 31

0:43:58 Slide 32

0:48:16 Slide 33

0:48:22 Slide 34

0:48:30 Slide 35

0:48:34 Slide 36

0:48:49 Slide 37

0:48:53 Slide 38

0:49:05 Slide 39

0:49:13 Slide 40

0:49:19 Slide 41

0:49:27 Slide 42

0:49:31 Slide 43

0:50:05 Slide 44

## Lectures

1. [G ∘ F Patterns](https://invisiblenetwork.ai/learn/cern/3015551/286e639dd1a0), 50 min (CERN's player)
