+ All Categories
Home > Documents > C BEAUTIFUL ARCHITECTURE Dymchenko Artem Sviatetskyi Vlad.

C BEAUTIFUL ARCHITECTURE Dymchenko Artem Sviatetskyi Vlad.

Date post: 26-Dec-2015
Category:
Upload: jasmin-blankenship
View: 216 times
Download: 0 times
Share this document with a friend
21
C BEAUTIFUL ARCHITECTURE Dymchenko Artem Sviatetskyi Vlad
Transcript

CBEAUTIFUL

ARCHITECTUREDymchenko Artem

Sviatetskyi Vlad

"We speak of the “architecture” of a symphony, and call architecture,

in its turn, “frozen music.”

—Deryck Cooke, The Language of Music

"In wider use, the term “architecture” always means “unchanging deep structure.”

—Stewart Brand, How Buildings Learn

A good system architecture

exhibits conceptual integrity

CMESSY

METROPOLIS

Metropolis "Architecture"

The consequence of a bad architecture is not constrained within the code. It spills outside to affect

people, teams, processes, and timescales.

It’s important to know what you’re designing before you start designing it. If you don’t know what it is and

what it’s supposed to do, don’t design it yet. Only design what you know you need.

CDESIGN TOWN

Design Town

Click icon to add picture

Initial architecture and a pipeline

Main principles• Locating functionality

• Consistency

• Growing the architecture(stone principle)

• Deferring design decisions(YAGNI principle)

• Maintaining quality

• Tests!

• Time for design

• Working with the design(no one owns any area of the design)

• Sharing the responsibility for the whole architecture

Design Town

Click icon to add picture

Resulting architecture

Further chapters• ENTERPRISE APPLICATION ARCHITECTURE

• SYSTEMS ARCHITECTURE

• END-USER APPLICATION ARCHITECTURES

• LANGUAGES AND ARCHITECTURE

C

DARKSTAR: ARCHITECTING FOR

SCALE

Examples : DarkStar

• Problems:• The system be distributed and concurrent, but we needed to present a much simpler

programming model to the game developer• Needs to be able to start small and then increase capacity as the user base increases, and

then decrease capacity as interest in the game wanes• Players are interacting with only a very small percentage of the occupants of the world • Latency Is the Enemy

Examples - Architecting for Scale• Decisions:• Very thick client • Geographical distribution of servers • Very thick client • Not a feature set but requirements to the system is the main concern of a software

developer• Services

Services

Click icon to add picture

Presents a much simpler programming model to the game developer

C

WHEN THE BAZAAR SETS OUT TO BUILD

CATHEDRALS

KDEFree software community producing integrated set of cross-platform applications designed to run on Unix systems.

Akonadi

Akonadi is Personal Information Management framework for KDE.

It's main purpose is providing universal datastore for PIM applications.

Expectations

• Building and maintaining architecture in community project

• Evaluating developer's code and its adjustment to project's ideas and patterns

• Expressing main ideas and patterns shortly

CTHANK YOU FOR

YOUR ATTENTION!


Recommended