Ніби й не було

Steve Yegge, “The Universal Design Pattern”, public translation into Ukrainian from English More about this translation.

See also 47 similar translations

Another translations: into Russian. Translate into another language.

Participants

nfx16 points
stalesha4 points
Nikky4 points
And others...
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next next untranslated

The Universal Design Pattern

Ніби й не було

History of edits (Latest: Nikky 2 years, 2 months ago) §

The Universal Design Pattern

This idea that there is generality in the specific is of far-reaching importance.

— Douglas Hofstadter, Gödel, Escher, Bach

Note: Today's entry is a technical article: it isn't funny. At least not intentionally.

Зауважте: Дана стаття є суто технічною, про гумор тут не йдеться. Принаймні про нього не думалося.

History of edits (Latest: nfx 2 years, 2 months ago) §

Contents

Зміст

History of edits (Latest: stawko 2 years, 2 months ago) §

* Introduction

Введення

History of edits (Latest: stawko 2 years, 2 months ago) §

* Three Great Schools of Software Modeling

o Class Modeling

o Relational Modeling

o XML Modeling

o Other schools

o Finding the sweet spot

o Property Modeling

* Brains and Thoughts

* Who uses the Properties Pattern?

o Eclipse

o JavaScript

+ Pushing it even further

+ The pattern takes shape...

o Wyvern

o Lisp

o XML revisited

o Bigtable

* Properties Pattern high-level overview

* Representations

o Keys

+ Quoting

+ Missing keys

o Data structures

* Inheritance

o The deletion problem

o Read/write asymmetry

o Read-only plists

* Performance

o Interning strings

o Perfect hashing

o Copy-on-read caching

o Refactoring to fields

o Refrigerator

o REDACTED

o Rolling your own

* Transient properties

o The deletion problem (remix)

* Persistence

o Query strategies

o Backfills

* Type systems

* Toolkits

* Problems

Проблемы

History of edits (Latest: stalesha 2 years, 2 months ago) §

* Further reading

* Final thoughts

Introduction

Введение

History of edits (Latest: stalesha 2 years, 2 months ago) §

Today I thought I'd talk about a neat design pattern that doesn't seem to get much love: the Properties Pattern. In its fullest form it's also sometimes called the Prototype Pattern.

People use this pattern all over the place, and I'll give you a nice set of real-life examples in a little bit. It's a design pattern that's useful in every programming language, and as we'll see shortly, it's also pretty darn useful as a general-purpose persistence strategy.

But even though this pattern is near-universal, people don't talk about it very often. I think this is because while it's remarkably flexible and adaptable, the Properties Pattern has a reputation for not being "real" design or "real" modeling. In fact it's often viewed as a something of a shameful cheat, particularly by overly-zealous proponents of object-oriented design (in language domains) or relational design (in database domains.) These well-meaning folks tend to write off the Properties Pattern as "just name/value pairs" – a quick hack that will just get you into trouble down the road.

Pages: ← previous Ctrl next next untranslated