HTTP/2 302
server: nginx
date: Fri, 22 Aug 2025 22:50:34 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20180611023128
location: https://web.archive.org/web/20180611023128/https://github.com/snowblink/design-patterns
server-timing: captures_list;dur=0.464888, exclusion.robots;dur=0.017846, exclusion.robots.policy;dur=0.008048, esindex;dur=0.012146, cdx.remote;dur=23.003709, LoadShardBlock;dur=229.316354, PetaboxLoader3.datanode;dur=77.713657, PetaboxLoader3.resolve;dur=106.647840
x-app-server: wwwb-app223
x-ts: 302
x-tr: 277
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app223; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Fri, 22 Aug 2025 22:50:36 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: GitHub.com
x-archive-orig-date: Mon, 11 Jun 2018 02:31:28 GMT
x-archive-orig-transfer-encoding: chunked
x-archive-orig-status: 200 OK
x-archive-orig-cache-control: no-cache
x-archive-orig-vary: X-PJAX
x-archive-orig-set-cookie: logged_in=no; domain=.github.com; path=/; expires=Fri, 11 Jun 2038 02:31:28 -0000; secure; HttpOnly
x-archive-orig-set-cookie: _gh_sess=blNFVHJXeEJqNUFWRWtkYis0S1VUSFpzZGtBS0lJQmtTaVQ1MTdDcjdzTmF6eVlYRTB0TVNYZTF4bVYzK3lmQkhpRVRyN1IwMHRNbVg0TTZRWUsxSFNlOTlNWVQzaWhTVW4xSVJockNPNUNTMitrV3ZhbllqaHNDN3JsS3RyaEcrc2Q0WlhNdXFhQkMwUmpqQ1dGeTdZc3B0STBuc3ZGUnppOEFFZW12Y0hwUnA2QkY5dnYveEYzZGRIbUxKbENqWmZmZ2NKQUlGSmZkWFJHSllGbnZER2xRYVd3UkZaZnFxdGdidURvNzlZb2VnS0NWbzNjY0ljSlAyMnNqdzR1YXZyMmVuWlJjQmRWVWFNUlpiMllrZEZUT2sxVjZBVjdtVStJYlNwQzd2Y01aeGVDaGU5M3Y1c0t0WW1TQWJzVnkzVGtnS09maE5BOVVIY2JMU2ZsVU9sR3FQMjRJT0xwOVVpYjVQdGpXSWszL0d1Zk1PNXJZcFZLRHh6VTM3bndnazM0RVNBOWp2TU1EZFhhN1FsZWp3QzdlSFpheGtpbGFHSU4veDNWcUNOWT0tLWx0QndtUTZ1bjRxNG9vMnFtY21Ma1E9PQ%3D%3D--ce8042ac67da870e54671e085a3b6e0094a49fa4; path=/; secure; HttpOnly
x-archive-orig-x-request-id: 388f961c-51de-4c48-bca1-c06e73eac123
x-archive-orig-x-runtime: 0.233245
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-frame-options: deny
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-x-xss-protection: 1; mode=block
x-archive-orig-expect-ct: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"
x-archive-orig-content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; frame-src render.githubusercontent.com; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; manifest-src 'self'; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com
x-archive-orig-x-runtime-rack: 0.243500
x-archive-orig-x-github-request-id: 9736:57EF:5D8E58A:AD61984:5B1DDF00
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Mon, 11 Jun 2018 02:31:28 GMT
link:
; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 11 Jun 2018 02:31:28 GMT", ; rel="memento"; datetime="Mon, 11 Jun 2018 02:31:28 GMT", ; rel="next memento"; datetime="Tue, 27 Oct 2020 13:09:16 GMT", ; rel="last memento"; datetime="Tue, 27 Oct 2020 13:09:16 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: archiveteam_github_20180703145256/archiveteam_github_20180703145256.megawarc.warc.gz
server-timing: captures_list;dur=0.567675, exclusion.robots;dur=0.020320, exclusion.robots.policy;dur=0.009473, esindex;dur=0.013063, cdx.remote;dur=19.918183, LoadShardBlock;dur=290.965384, PetaboxLoader3.datanode;dur=554.525403, PetaboxLoader3.resolve;dur=999.432173, load_resource;dur=1516.508112
x-app-server: wwwb-app223
x-ts: 200
x-tr: 1906
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
GitHub - snowblink/design-patterns: Head First Design Patterns, but in Ruby instead of Java
Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Sign up
Ruby
Clone or download

Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
README.markdown

Design Patterns
Aim
To go through the book Head First Design Patterns, but to use Ruby instead of Java.
Books
- Head First Design Patterns
- Design Patterns
- Ruby Design Patterns
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.