0% found this document useful (0 votes)
579 views

Download ebooks file Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design 2nd Edition Dmitri Nesteruk all chapters

Modern

Uploaded by

iliasnajmivm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
579 views

Download ebooks file Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design 2nd Edition Dmitri Nesteruk all chapters

Modern

Uploaded by

iliasnajmivm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Get ebook downloads in full at ebookmeta.

com

Design Patterns in Modern C++20: Reusable


Approaches for Object-Oriented Software Design 2nd
Edition Dmitri Nesteruk

https://ebookmeta.com/product/design-patterns-in-
modern-c20-reusable-approaches-for-object-oriented-software-
design-2nd-edition-dmitri-nesteruk-2/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://ebookmeta.com


Dmitri Nesteruk

Design Patterns in Modern C++20


Reusable Approaches for Object-Oriented Software
Design
2nd ed.
Dmitri Nesteruk
St. Petersburg, Russia

ISBN 978-1-4842-7294-7 e-ISBN 978-1-4842-7295-4


https://doi.org/10.1007/978-1-4842-7295-4

© Dmitri Nesteruk 2022

Cover designed by eStudioCalamar


Distributed to the book trade worldwide by Apress Media, LLC, 1 New
York Plaza, New York, NY 10004, U.S.A. Phone 1-800-SPRINGER, fax
(201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit
www.springeronline.com. Apress Media, LLC is a California LLC and the
sole member (owner) is Springer Science + Business Media Finance Inc
(SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail
booktranslations@springernature.com; for reprint, paperback, or audio
rights, please e-mail bookpermissions@springernature.com.
Apress titles may be purchased in bulk for academic, corporate, or
promotional use. eBook versions and licenses are also available for
most titles. For more information, reference our Print and eBook Bulk
Sales web page at http://www.apress.com/bulk-sales.

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

Trademarked names, logos, and images may appear in this book. Rather
than use a trademark symbol with every occurrence of a trademarked
name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark. The use in this publication
of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of
opinion as to whether or not they are subject to proprietary rights.

While the advice and information in this book are believed to be true
and accurate at the date of publication, neither the authors nor the
editors nor the publisher can accept any legal responsibility for any
errors or omissions that may be made. The publisher makes no
warranty, express or implied, with respect to the material contained
herein.

This Apress imprint is published by the registered company APress


Media, LLC part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
Any source code or other supplementary material referenced by the
author in this book is available to readers on GitHub via the book’s
product page, located at www.apress.com/9781484272947. For more
detailed information, please visit http://www.apress.com/source-code.
Table of Contents
Chapter 1:​Introduction
Who This Book Is For
On Code Examples
On Developer Tools
Preface to the Second Edition
Important Concepts
Curiously Recurring Template Pattern
Mixin Inheritance
Old-Fashioned Static Polymorphism
Static Polymorphism with Concepts
Properties
The SOLID Design Principles
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Part I: Creational Patterns
Chapter 2:​Builder
Scenario
Simple Builder
Fluent Builder
Communicating Intent
Groovy-Style Builder
Composite Builder
Builder Parameter
Builder Inheritance
Summary
Chapter 3:​Factories
Scenario
Factory Method
Factory
Factory Methods and Polymorphism
Nested Factory
Abstract Factory
Functional Factory
Object Tracking
Summary
Chapter 4:​Prototype
Object Construction
Ordinary Duplication
Duplication via Copy Construction
Virtual Constructor
Serialization
Prototype Factory
Summary
Chapter 5:​Singleton
Singleton As Global Object
Classic Implementation
Thread Safety
The Trouble with Singleton
Per-Thread Singleton
Ambient Context
Singletons and Inversion of Control
Monostate
Summary
Part II: Structural Patterns
Chapter 6:​Adapter
Scenario
Adapter
Adapter Temporaries
Bidirectional Converter
Summary
Chapter 7:​Bridge
The Pimpl Idiom
Bridge
Summary
Chapter 8:​Composite
Array-Backed Properties
Grouping Graphic Objects
Neural Networks
Shrink-Wrapping the Composite
Conceptual Improvements
Concepts and Global Operators
Composite Specification
Summary
Chapter 9:​Decorator
Scenario
Dynamic Decorator
Static Decorator
Functional Decorator
Summary
Chapter 10:​Façade
Magic Square Generator
Fine-Tuning
Building a Trading Terminal
An Advanced Terminal
Where’s the Façade?​
Summary
Chapter 11:​Flyweight
User Names
Boost.​Flyweight
String Ranges
Naïve Approach
Flyweight Implementation
Summary
Chapter 12:​Proxy
Smart Pointers
Property Proxy
Virtual Proxy
Communication Proxy
Value Proxy
Summary
Part III: Behavioral Patterns
Chapter 13:​Chain of Responsibility
Scenario
Pointer Chain
Broker Chain
Summary
Chapter 14:​Command
Scenario
Implementing the Command Pattern
Undo Operations
Composite Command
Command Query Separation
Summary
Chapter 15:​Interpreter
Parsing Integral Numbers
Numeric Expression Evaluator
Lexing
Parsing
Using the Lexer and Parser
Parsing with Boost.​Spirit
Abstract Syntax Tree
Parser
Printer
Summary
Chapter 16:​Iterator
Iterators in the Standard Library
Traversing a Binary Tree
Iteration with Coroutines
Summary
Chapter 17:​Mediator
Chat Room
Mediator with Events
Service Bus As Mediator
Summary
Chapter 18:​Memento
Bank Account
Undo and Redo
Memory Considerations
Using Memento for Interop
Summary
Chapter 19:​Null Object
Scenario
Null Object
shared_​ptr Is Not a Null Object
Design Improvements
Implicit Null Object
Interaction with Other Patterns
Summary
Chapter 20:​Observer
Property Observers
Observer<T>
Observable<T>
Connecting Observers and Observables
Dependency Problems
Unsubscription and Thread Safety
Reentrancy
Observer with Boost.​Signals2
Views
Summary
Chapter 21:​State
State-Driven State Transitions
Handmade State Machine
Switch-Based State Machine
State Machines with Boost.​MSM
Summary
Chapter 22:​Strategy
Dynamic Strategy
Static Strategy
Summary
Chapter 23:​Template Method
Game Simulation
Functional Template Method
Summary
Chapter 24:​Visitor
Intrusive Visitor
Reflective Printer
What Is Dispatch?​
Classic Visitor
Implementing an Additional Visitor
Acyclic Visitor
Variants and std::visit
Summary
Index
About the Author
Dmitri Nesteruk
is a quantitative analyst, developer,
course and book author, and an
occasional conference speaker. His
professional interests lie in software
development and integration practices in
the areas of computation, quantitative
finance, and algorithmic trading. His
technological interests include C# and
C++ programming as well as high-
performance computing using
technologies such as CUDA and FPGAs.
He has been a C# MVP since 2009.
About the Technical Reviewers
David Pazmino
has been developing software applications for 20 years in Fortune 100
companies. He is an experienced developer in front-end and back-end
development who specializes in developing machine learning models
for financial applications. David has developed many applications in
C++, STL, and ATL for companies using Microsoft technologies. He
currently develops applications in Scala and Python for deep learning
neural networks. David has a degree from Cornell University, a masters
from Pace University in Computer Science, and a masters from
Northwestern in Predictive Analytics.

Massimo Nardone
has more than 25 years of experience in security, web/mobile
development, cloud, and IT architecture. His true IT passions are
security and Android. He has been programming and teaching how to
program with Android, Perl, PHP, Java, VB, Python, C/C++, and MySQL
for more than 20 years. He holds a Master of Science degree in
Computing Science from the University of Salerno, Italy.
He has worked as a CISO, CSO, security executive, IoT executive,
project manager, software engineer, research engineer, chief security
architect, PCI/SCADA auditor, and senior lead IT security/cloud/SCADA
architect for many years. His technical skills include security, Android,
cloud, Java, MySQL, Drupal, Cobol, Perl, web and mobile development,
MongoDB, D3, Joomla, Couchbase, C/C++, WebGL, Python, Pro Rails,
Django CMS, Jekyll, Scratch, and more.
He worked as visiting lecturer and supervisor for exercises at the
Networking Laboratory of the Helsinki University of Technology (Aalto
University). He holds four international patents (PKI, SIP, SAML, and
Proxy areas). He is currently working for Cognizant as head of cyber
security and CISO to help both internally and externally with clients in
areas of information and cyber security, like strategy, planning,
processes, policies, procedures, governance, awareness, and so forth. In
June 2017 he became a permanent member of the ISACA Finland Board.
Other documents randomly have
different content
Tämän jälkeen hän sulkeutui kauppaansa ja heittäytyi sieluineen
ja ruumiineen väkijuomien valtaan. Hautauspäivän jälkeen ei kukaan
kokonaiseen vuoteen tietänyt, asuiko talossa ketään, vai oliko se
autio. Kyläläiset koettivat ohikulkiessaan kurkistaa sisään
alaslaskettujen ikkunaverhojen lomitse, ja menivät sitten menojaan.
Öisin Anghel kuljeskeli koiransa seuraamana talonsa raunioilla, ja
palasi jälleen sisään. Päivisin hän tyhjensi humaltumatta lasin
toisensa jälkeen ja katseli, leuka kämmenen varassa,
ikkunaverhojen raosta palaneen talon törröttäviä seiniä.

Kun tämä synkkä suruvuosi oli päättynyt, avasi hän jälleen


kapakan, toisin sanoen, hän tarjoili yhdelle, mutta ei toiselle,
kenenkään tietämättä, mihin hän perusti kieltonsa ja suosionsa.
Ohikulkijat kunnioittivat hänen tahtoaan, sillä hänen
onnettomuutensa tunnettiin viiden peninkulman laajuudella. Hän ei
enää hankkinut uutta tavaraa, sillä kellari oli täynnä viini- ja
väkijuomatynnyreitä.

Adrien ja hänen äitinsä olivat ainoat ihmiset, joiden kanssa hän


suostui puheisiin. Kauhu sydämessä Adrien tuli pari kertaa
tervehtimään häntä sinä vuonna, jolloin hän jälleen avasi
myymälänsä. Eno istui aina ikkunan ääressä lukkojen takana, pullo
ja pieni lasi edessään, koira vierellään, ja katseli ulos. Rattaat
vierivät ohi, kaksi miestä astui maahan ja kolkutti ovelle. Hän ei
hievahtanutkaan paikaltaan, ja miehet menivät tiehensä. Jälleen
pysähtyivät rattaat ovelle. Mies huusi rattailta nousematta:

»Anghel! Saako sinulta lasin?»

Ja hän sai.

*****
Mennessään äitinsä käskystä noutamaan Anghel-enoa Adrien
muisteli hänen kovaa kohtaloaan ja tuumi:

»Äiti erehtyy, jos luulee minun saavan enon liikkeelle luolastaan».

Tehtävä ei ollut helppo. Ei ollut kysymys vain vierailusta, vaan


sovinnonteosta. Äidin kuoltua kahdeksan vuotta sitten olivat
molemmat enot riitautuneet vähäpätöisen perintöasian vuoksi.
Kiistettäessä oli Anghel-eno sanonut, vastoin vanhemman sisarensa
tahtoa, joka vastusti jakoa: »Tahdon vaikkapa vain yhden frangin
äidin perintöä, jolla ostan helminauhan ja ripustan sen
pyhimyskaappiini, vain tietääkseni, että se on äidiltä». Kiihtyneenä
Dimi-eno vastasi solvaisten. Silloin veli sivalsi häntä korvalle, ja
nuorempi hairahtui iskemään vanhempaansa päähän kepillä. Tämä
poistui lapsuudenkodistaan, sanoen:

»En palaa tänne etkä sinä tule minun luokseni, ennenkuin suutelet
kaikkien nähden kenkäni anturaa!»

Siitä lähtien heidän välinsä olivat olleet rikki. Ennen


onnettomuustapausta, joka oli kuolettava isku Anghel-enolle, oli
nuorin veli itsepintaisesti pysynyt kuurona sisarensa rukouksille,
tämän kehoitellessa häntä pyytämään anteeksi veljeltään. Tuon
julman tapaturman jälkeen ei kukaan enää uskaltanut tällaisilla
pikkuasioilla häiritä Anghelin rauhaa.

Nyt Adrienin äiti tahtoi kaikin mokomin sovittaa veljekset


keskenään. Kun hän kutsui sitä, jota oli lyöty, sensijaan, että hänen
luokseen olisi menty, luotti hän siihen, että suru oli lannistanut hänen
ylpeytensä sekä siihen vaikutusvaltaan, mikä hänellä aina oli ollut
veljiinsä, etenkin häneen, joka oli perheen rikkain, silloinkin kun hän
vastusti epäitsekkäästi hänen perinnönjakovaatimustaan.
Kello oli kahdeksan illalla Adrienin saapuessa enon asunnolle.
Kylänpuolisesta ikkunasta näkyi valoa. Adrienia puistatti
ajatellessaan noiden alaslaskettujen uudinten takana asustavaa
miestä. Hän lähestyi ikkunaa ja painoi kasvonsa sitä vasten. Ei
mitään elonmerkkiä, palavaa lamppua lukuunottamatta. Sulttaani
alkoi kärsimättömänä haukkua. Enon koira haukahti vastaan, mutta
uutimet eivät liikahtaneet. Adrien tiesi, ettei kolkuttaminen hyödyttäisi
mitään. Hän painoi nenänsä ruutua vasten ja sanoi arasti:

»Eno! Adrien haluaa puhua kanssasi».

Hetken kuluttua kohotettiin verhoa, ja eno viittasi häntä tulemaan


ovelle, jonka hän avasi, pidellen lamppua kädessään. Adrien astui
Sulttaanin kanssa sisään.

Hänen katsellessaan huonosti valaistua huonetta kutistui hänen


sydämensä kokoon. Mikä syvä alakuloisuus puhuukaan esineistä,
jotka ihmeitätekevä ihmiskäsi on jättänyt hoidotta! Ei enää laseja
hyllyillä, ei leipää ruokapöydällä, ei savustettua kinkkua, joka ennen
riippui orresta raskaina könkäleinä, ei enää rinkeleitä katossa
vartaisiin pujotettuina. Tomua, unohdusta, laiminlyöntiä, kuoleman
rauhaa…

Keskellä tätä hautausmaata seisoi Anghel-eno viitta hartioillaan,


yhä kookkaana, mutta kumarana, niin kumarana, — Anghel-eno,
joka ennen oli ollut pystypäinen ja ryhdikäs kuin leijona, — ja katseli
rauhallisena sisarenpoikaansa. Tämä tarttui molemmin käsin hänen
vapaaseen käteensä ja suuteli sitä, kuten on tapana. Hän oli
purskahtamaisillaan itkuun. Sanaa sanomatta eno vei hänet
huoneeseensa. Täällä vallitsi sama autius. Paljaista ja kellastuneista
seinistä ei enää levinnyt tuoreen kalkin miellyttävä haju. Peistottu ja
epäsiisti sänky, oikea ryysykasa, näytti sekin ikäänkuin tehneen
vastarintaa tuolle onnettomuuksien raskauttamalle ruumiille, jonka
painosta se joka yö oli luhistua kokoon. Tiiliuunin halkeamat
ammottivat savun mustaamina. Katon kurkihirret olivat niinikään
mustuneet. Kaluston täydensi kaksi puutuolia ja pöytä sekä
kaksipiippuinen pyssy, joka riippui naulassa kantohihnastaan.
Pöydällä viinapullo ja lasi, raamattu, muistiinpanovihko, josta riippui
nauhaan kiinnitetty lyijykynä, veitsi ja aloitettu leipä. Adrien puhkesi
itkuun.

Eno istuutui tuolille, veti hänet luokseen ja suuteli häntä, mikä


tapahtui ensi kerran hänen poikansa kuoleman jälkeen.
Miehekkäällä, mutta murtuneella äänellä, jossa ei enää ollut entistä
kantavuutta, hän sanoi lempeästi:

»Olen iloinen nähdessäni sinut, Adrien… mutta miksi sinä itket?»

»Eno… onko se mahdollista?… Sinulla on pääsiäisenä pöydälläsi


vain kuiva kannikka… Ei… Koiratkin syövät tänään mesileipää…»

Adrien pyyhki kyyneleitään, ja kun hän jälleen katsahti enon


kasvoihin, hymyilivät ne hyvyyttä, tuota sietämätöntä hyvyyttä, mikä
säteilee surun tappaman olennon kasvoista. Hänen päänsä oli
melkein paljas ja tukka lumivalkoinen. Hänen paitansa ja vaatteensa
olivat likaiset, napittomat. Hän vastasi sisarenpojalle entistä
sammuneemmalla äänellä:

»Jos tuo yksin on syynä itkuusi, niin rauhoitu toki ja kerro minulle,
mitä käyntisi tarkoittaa».

»Tulen kysymään sinulta, vihaatko vielä Dimi-enoa?»

»En vihaa enää ketään».


»Voitko antaa hänelle anteeksi hänen vikansa?»

»Minulla ei ole kenellekään mitään anteeksiannettavaa».

Enon ääni oli yhtä välinpitämätön, kuin jos hän olisi sanonut:
»Leipä on pöydällä» tai: »Ulkona on pimeä».

»No niin», alkoi Adrien epäröiden, »äiti lähetti minut pyytämään,


että tulisit tänä iltana enon luo».

»Äitisi lähettää sinut», toisti miesparka, kohottaen päätään.


»Adrien, sinun äitisi on pyhimys».

Hän näytti miettivän hetkisen, ja kysyi sitten:

»Ja mitä sinä ajattelet?»

»Minäkö, mutta sinähän arvaat sen, eno. Toivon sitä kaikesta


sydämestäni».

»Entä muut? Toivovatko hekin sitä?»

»Aivan varmaan kaikki toivovat sitä, eno».

»No niin, silloin toivon samaa kuin tekin».

Kuinka kaameilta kuuluivatkaan sanat: »Toivon samaa kuin tekin»,


noiden huulten lausumina, joilla väreili kuoleman hymy! Mikä
täydellinen tahdon puutos! Adrienia kauhistutti.

He lähtivät huoneesta koirat kintereillään.

*****
Pappi Stefan, jonka luona Adrien oli pistäytynyt ohi kulkiessaan, oli
kahdeksankymmenvuotias vanhus eikä enää hoitanut virkaansa.
Mutta hän palveli yhä seurakuntaansa, ollen kyläläisten kesken
riidanratkaisijana ja neuvonantajana. Hänen näkönsä oli heikentynyt,
mutta hän liikkui vielä kuin nuori mies. Hän asui aivan lähellä Dimi-
enoa. Hän otti keppinsä ja lähti siinä tuokiossa kolkuttamaan
viimemainitun ovelle.

Kun hänen apostoliset, norsunluunkeltaisen parran kehystämät


kasvonsa näyttäytyivät ovella, nousivat kaikki seisomaan ja riensivät
suutelemaan hänen kättään, jota hän viidenkymmenen vuoden ajan
oli ojentanut syntisten suudeltavaksi.

»Lapseni, Kristus on noussut kuolleista», sanoi hän totutulla


saarnaäänellä.

»Toden totta. Hän on noussut kuolleista», vastattiin kuorossa.

Adrienin äiti tarjosi papille paikkansa, johon tämä muitta mutkitta


istuutui, kuin olisi se ollut aivan oikeutettua. Äiti jäi seisomaan,
nojaten seinää vasten ja risti kätensä.

Läsnäolijat, joita tämä odottamaton vierailu hiukan hämmästytti,


katselivat kysyvästi vanhinta sisarta, kuin selitystä pyytäen. Hän —
laiha, ryhdikäs, kaitakasvoinen nainen — katseli huoneessaolijoita
ystävällisin silmäyksin ja alkoi puhua:

»Olen kutsuttanut teidät tänne, isä Stefan, pyytääkseni teitä


auttamaan minua sovittamaan tänä iltana keskenään veljeni Dimin ja
Anghelin, joka toivoakseni on pian täällä. Kuten tiedätte, eivät he
kahdeksaan vuoteen ole puristaneet toistensa kättä, vaan välttävät
toisiaan ja pysyttelevät poissa kaikkein pyhimmistäkin juhlista,
nauttimatta yhdessä pyhää leipää ja viiniä. Tällaista ei voi sietää. En
tahdo esiintyä silmissänne tahrattomana. Olen tehnyt syntiä, ja
raskain rikokseni on se, että olen antanut elämän isättömälle
lapselle, elettyäni kymmenen vuotta yhdessä miehen kanssa ilman
kirkon siunausta. Mutta kaikkein synkin synti on mielestäni viha,
kaikki viha ihmisten kesken ja sitäkin enemmän veljesten kesken…

»En vihaa enää Anghel-veljeäni», sanoi Dimi-eno synkistyen.

»Olen iloinen kuullessani sen», sanoi pappi, »mutta onhan sitä jo


kestänytkin, Dimi».

»Onpa kyllä, mutta hän oli epäoikeudenmukainen minua


kohtaan…»

»Niin, hän oli epäoikeudenmukainen», myönsi oikeuden palvelija,


»mutta sinä solvaisit häntä, löit häntä ja vuodatit vanhemman veljesi
verta. Olet unohtanut isiemme pyhän uskon, joka sanoo, että 'jos
nuorempi veli lyö vanhempaansa, on hänen kannettava hänet
selässään toiseen elämään'.»

Dimi vaikeni. Hänen sisarensa jatkoi:

»On totta, että Anghel oli epäoikeudenmukainen. Hän unohti, että


Dimi jäi kotiin ja huolehti vuosikausia vanhasta äidistämme, sillävälin
kuin me muut sisarukset jätimme hänet, kulkien kukin omaa tietään.
Siksipä minä, vaikka olenkin köyhin meistä neljästä, vastustin jakoa.
Tuo jako olisi saattanut nuorimman veljen vaimoineen ja lapsineen
maantielle. Mutta Anghel, joka oli varakas, oli valmis auttamaan
veljeään uuden kodin perustamisessa. Ja tässä alkaa Dimin syy.
Hän oli ylpeä eikä tahtonut olla kiitollisuudenvelassa veljelleen.
Luulen hänen jo silloin vihanneen veljeään. Niinpä tora ja tappelu jo
uinui hänen sydämessään kuin tuli tuhkan alla, ja he kävivät käsiksi
toisiinsa. Nyt on Anghel-parka sovittanut syntinsä, onnettomuudet
ovat riistäneet hänestä kaiken, mikä meissä on inhimillistä, ja nyt
häntä yhdistää elämään vain hänen ruumiinsa, joka vielä mataa
maan päällä. Minulle olisi ollut mieluisempaa, jos hän olisi kuollut,
sillä hänen nykyinen elämänsä on kuolemaa pahempi. Hän juo,
mutta viina nieleekin hänet, sillä hän antautuu sille sieluineen
päivineen. En ole käynyt hänen luonaan sitten joulun, eikä hän enää
käy kenenkään luona. Kerran jo sanoinkin hänelle, että jollei hän
vapaudu himostaan, olisi hänen parempi kuolla. Hän vastasi: 'Minä
olenkin kuollut'. Mutta teidän avullanne toivon vieläkin voitavan
pelastaa hänet. Ehkäpä isä Stefan voisi vaikuttaa häneen
terveellisesti. Jos hän tulee tänä iltana, käymme useammin
katsomassa häntä. Siksi pyydän Dimiä anomaan häneltä anteeksi
mitä nöyrimmin…»

*****

Juuri silloin ovi avautui kenenkään koputtamatta selkoselälleen, ja


kynnyksellä seisoi Anghel-eno ja hänen takanaan Adrien. Hän koetti
seistä suorana ja hymyillä. Hän oli kuin kerjäläisvanhus risaisissa
vaatteissaan, hartioilla kulunut viitta, jalassa kuivuneen loan
peittämät saappaat, kädessä lammasnahkalakki. Hän tervehti
vanhanaikaiseen tapaan:

»Hyvää iltaa, kunnon väki!»

Näin yhtäkkiä ilmestyneenä järkytti hänen surullinen ulkoasunsa


kaikkia. Dimi-eno ja hänen sisarensa purskahtivat itkuun. Edellinen
heittäytyi onnettoman veljensä jalkoihin ja suuteli hänen kenkiään.
Toinen kostutti kyynelillään hänen alkoholilta hajuavia käsiään.
»Veli parka!… Veli parka!… Millaiseksi olet tullut!»

Anghel-eno, jota kaikki tämä ei näyttänyt vähääkään liikuttavan,


nosti veljensä seisomaan ja suuteli häntä, samoinkuin sisartaankin.
Sitten hän meni suutelemaan kädelle pappia, puristi ikäistensä kättä,
ja tarjosi kätensä nuorten suudeltavaksi.

Sitten hän istui hänelle osoitetulle paikalle pöydän päähän


vastapäätä pappia. Nyt seurasi hiljaisuus, jota häiritsi vain yhä
itkevän veljen ja sisaren nyyhkytykset.

Niinpian kuin hän oli istuutunut, häipyi hymy hänen kasvoiltaan ja


katse kylmeni. Hän sanoi:

»Miksi itkette? Se ei hyödytä mitään».

Tyynnyttiin, mutta kukaan ei uskaltanut puhua. Vanhan papin


älykkäät silmät tarkastivat onnetonta serkkua, joka näytti melkein
yhtä vanhalta kuin hänkin, ja hän sanoi lujalla, mutta hyvin
ystävällisellä äänellä:

»Anghel, minä rohkenen huomauttaa sinulle, että astuit sisään


pyhänä pääsiäispäivänä lausumatta jokaisen oikeauskoisen kristityn
tervehdystä».

Nähtävästi ollenkaan tajuamatta näissä sanoissa piilevää moitetta


eno kysyi, kuin jostakin kaukaisesta maasta tullut:

»Mitä tervehdystä, isä?»

Pappi huomasi tämän tajuamattomuuden ja sanoi rauhallisesti:


»No niin, meidän pyhää tunnussanaamme: Kristus on noussut
kuolleista».

Anghel painoi alas päänsä, kosketti sormellaan pöydällä olevaa


leivänmurua, kohotti sitten päätään ja vastasi:

»En usko Kristuksen ylösnousemiseen! Eivät kuolleet enää nouse


ylös».

»Anghel!… Sinä pilkkaat Jumalaa! Kristus ei ole 'kuollut', vaan


Jumalan poika ja Jumala itse…!» huudahti kirkon mies yhä tyynellä,
mutta hiukan värisevällä äänellä.

»Sitä en tiedä», vastasi, Anghel rauhallisesti.

Ja näin sanottuaan hän veti päällystakkinsa taskusta puolen litran


pullon ja toisesta pienen lasin, täytti sen muitta mutkitta kaikkien
nähden, ja pisti pullon paikoilleen. Hän otti lasista pienen kulauksen,
maisteli sitä hetkisen suussaan ennenkuin nielaisi sen, ja laski sitten
lasin varovasti pöydälle kuin peläten sen kaatuvan.

Läsnäolijat hämmästyivät. Adrienin äiti peitti käsin silmänsä ja itki


hiljaa. Kaikelle tunteettomana Anghel ei ymmärtänyt, minkä kauhean
vaikutuksen tämä teki. Hän katseli rauhallisesti huoneessaolijoita,
kuin olisi tämä ollut mitä luonnollisinta. Ja hänelle se tosiaankin oli
luonnollista, sillä olihan hän kolmen vuoden ajan sata kertaa
päivässä tehnyt samoin ollessaan yksin, kaukana moitteen
ulottuvilta.

»Anghel-parka!» huudahti pappi. »Minä surkuttelen sinua. Sinä et


ole lakannut olemasta vain kristitty, vaan olet lakannut olemasta
edes ihminen!»
Anghel ei vastannut mitään, tarttuihan vain lasiinsa, vei sen
huulilleen ja otti jälleen pienen siemauksen. Ikävystyneen näköisenä,
äänessä tuskin huomattava vaikeroiva väre, hän sanoi sitten kuin
itsekseen:

»En tiedä, miksi kutsuitte minua tulemaan…»

Silloin hänen sisarensa, joka istui hänen oikealla puolellaan,


kuivasi kyyneleensä, tarttui hänen käteensä ja puhui kuin lapselle:

»Rakas veli, kutsuin sinua siksi, että tahdomme sinut


keskuuteemme, että rakastamme sinua ja tahdomme, että sinunkin
sydämesi rakastaisi… Etkö enää rakasta elämää? Eikö mikään enää
ole sinulle rakasta?…»

»On yhdentekevää, rakastanko vai en… eihän se merkitse mitään.


Mutta miksi huolehdit minusta, sisareni?»

»Kuinka, Anghel? Olen vanhin sisaresi, ja sinun onnettomuutesi


on minun onnettomuuteni…»

»Se ei ole totta. Olet kärsinyt, ja kärsit yhä omasta


onnettomuudestasi, vaan et minun».

»Ei, Anghel, veren siteet tekevät kärsimyksemme yhteisiksi».

»Ei ole veren siteitä: jos katkaisen poikki jalkani, vuotaa minun
vereni, vaan ei sinun».

»Mutta moraaliset kärsimykset ovat meille yhteisiä».

»Mitään sellaista ei ole. Olkoon vain tyhjää ilmaa, mitä nyt sanon,
mutta jos sinä kadotat huomenna poikasi, tuottaa se minulle
kärsimystä, mutta sinulle se on kuolema».

Sisar vaikeni, niin surullisen vakuuttava oli näiden sanojen


johdonmukaisuus. Ja eno otti taaskin pienen kulauksen.

*****

Ottaen lähtökohdaksi tunnetun vertauksen raamatusta pappi alkoi


puhua:

»Anghel, muistatko Jobia? Hänen koettelemuksensa veti vertoja


sinun onnettomuudellesi, mutta hän pysyi järkähtämättömänä
uskossaan. Muista, että Jumalan ajatukset ovat meiltä kuolevaisilta
salatut. Ehkä Herramme on lähettänyt sinulle nämä koettelemukset
johtaakseen sinut niiden kautta valittujen joukkoon».

Anghel suoristautui istuimellaan, ja hänen silmänsä loistivat. Hän


näytti haluavan vastata, mutta ei löytänyt sanoja. Hän kutsui
luokseen Adrienin, joka pysytteli huoneen nurkassa, ja istutti hänet
vasemmalle puolelleen, molempien enojensa välille. Sitten hän sanoi
hiukan voimakkaammalla äänellä:

»Stefan-serkku, teidän uskonnolliset tarinanne lienevät suureksi


osaksi surkeaa valhetta. Aivoni eivät pysty vastaamaan sinulle hän
sinutteli pappia, mutta tämä poikanen tässä, teidän veljenpoikanne,
tietää enemmän kuin me…»

»Eno», keskeytti hänet Adrien, »en tahtoisi sekaantua teidän


tämäniltaisiin väittelyihinne. En ole siinä iässä, ja minun
vakaumukseni saattaisi loukata isä Stefania».

Anghel-eno laski kätensä hänen olalleen ja sanoi vakuuttavasti:


»Lapseni, sinä et loukkaa ketään. Olemme perheen piirissä. Ja
sinun on minun vuokseni kerrottava, mitä olet oppinut kirjoista. Elän
enää vain etsiäkseni totuutta. Mutta näinä kahtena vuotena, jolloin
olen parhaani mukaan tutkinut raamattua, on kaikki käynyt vain
sekavammaksi. Kuinka selität sen, Adrien, että tässä kirjassa on niin
suuren viisauden ohella niin paljon taruja, kuten esimerkiksi tuo
uskomaton tarina Jobista?»

Arastellen papin tutkivaa katsetta Adrien vastasi:

»Se johtuu siitä, että raamatun henkilöt ovat historiallisen


tutkimuksen ulkopuolella. Raamattu on uskon kirja, tarkoitettu
uskovien käytettäväksi. Se vaatii sinua uskomaan, ei etsimään».

»Mutta sanohan, voitko uskoa Jumalaan, joka riistää isältä kaikki


hänen lapsensa, vain koetellakseen häntä? Hänellä täytyy olla oikea
rosvon sydän».

Kuullessaan nämä sanat pappi hypähti seisoalleen, kuin olisi


häntä poltettu tulisella raudalla, ja sanoi:

»Minä lähden, sillä minun paikkani ei ole siellä, missä Jumalaa


pilkataan!»

»Tässäkö kaikki tuki, mitä sinulla on tarjottavana minunlaiselleni


Jobille?» kysyi Anghel-eno. »Kolme lasta on minulla ollut, ja kaikki
kolme on minulta riistetty. Mikä on rikokseni, jotta Jumalasi minua
näin rankaisee?»

»Sinä onneton! Armon Jumala oli valinnut sinut marttyyriensä


joukkoon, joita odottaa iankaikkinen elämä!»
»Sinun armollinen Jumalasi olisi tehnyt paremmin, jos olisi antanut
minun nauttia maallisesta elämästä, joka miellytti minua, sensijaan,
että teki minusta juopon, jolla ei ole perhettä eikä Jumalaa».

»Ei kukaan ole kelvollinen tuomitsemaan Luojan töitä!»

Ja näin sanottuaan pappi antoi siunauksensa ja poistui.

*****

»Anghel», sanoi hänen sisarensa, niin pian kuin serkku oli


lähtenyt, »sinä et kohdellut kunnioittavasti isä Stefania, sinä unohdit,
että hän on pappi».

»Päinvastoin, sisar, pidin hyvinkin mielessäni, että hän on pappi,


sanoakseni hänelle, etten usko pappien puheisiin. On heidän
syytään, ellen enää usko heidän Jumalaansa. Miksi he antavat
meille kaikkivaltiaan arkkitehdin, joka sekaantuu alinomaa
elämäämme? Tuossa tarinassa ei ole mitään totta. Mutta totuus on
jossakin muualla. Missä? Sitä en tiedä. Sen vain tiedän, että me
elämme, kärsimme ja kuolemme typerästi, tietämättä miksi tai miten.
Vielä tiedän, että suurin erehdyksemme on siinä, että ajamme liiaksi
takaa onnea, elämän suhtautuessa välinpitämättömästi toiveisiimme.
Jos olemme onnellisia, on se vain sattumaa, ja jos olemme
onnettomia, on sekin vain sattumaa. Elämän merellä, joka on niin
täynnä kareja, viskelevät tuulet venettämme, ja vähän hyödyttää
meitä purjehdustaitomme. Ja on turhaa syyttää ketään tai kiinnittää
toivoaan mihinkään. Jokainen on jo äitinsä kohdussa määrätty
onneen tai onnettomuuteen. Onnellinen se, joka tuntee vähiten tai ei
ollenkaan. Elämä antaa hänelle sen vähän, mitä hän pyytää. Ja
onneton on se, joka tuntee ja tahtoo: hän ei koskaan saa kylliksi».
Adrien saatteli enonsa takaisin hänen hökkeliinsä. Ennenkuin he
erosivat toisistaan, pysähtyi Anghel ovellaan ja sanoi Adrienille:

»Adrien! Minä kuolen pian, sillä alkoholi on polttanut sisukseni.


Katsele minua tarkoin ja muista joka kerta, kun sinua haluttaisi
sylkäistä juopunutta kasvoihin, että minusta, Anghel-enostasi, joka
oli niin raitis ja rakasti raitista elämää, on tullut juomari, ja että kuolen
juomarina, kenenkään olematta siihen syypää».
ANGHEL-ENON KUOLEMA

Brailasta Baldovinestin kylään vievällä kuoppaisella tiellä, jonka


äskeiset kevätsateet olivat peräti liottaneet, hyppelehtivät Dimi-enon
kaksivaljakon vetämät vankkurit vallan peloittavasti. Istuen laudalla
enonsa vieressä Adrien valitteli vatsakipuja ja pyysi ajamaan
käyden. Hevoset päristelivät virkeinä raikkaassa aamuilmassa,
hyvillään siitä, ettei enää tarvinnut juosta, ja alkoivat astua
käymäjalkaa. Hiljaisuudessa, joka seurasi, kun rattaiden höllenneet
rautaosat lakkasivat rämisemästä, Adrien suoristautui ja antoi
katseensa mielihyvin kulkea alkukeväisen, tumman ja äänettömän
lakeuden yli, jota talven pitkä uni vielä painosti.

Dimi-eno, vaikkakin kelpo maamies, suora ja rehti, oli


harvapuheinen, ja hänellä oli tapana vilkaista salavihkaa
ympärilleen. Hän oli utelias näkemään, miltä näyttäisi hänen
sisarenpoikansa, jota hän oli kasvattanut seitsenvuotiaaksi saakka ja
joka vastikään oli palannut kaksivuotiselta matkalta Egyptiin ja
Vähään Aasiaan, ja tarkasteli nyt häntä salassa. Pian Adrien
huomasi sen, ja se häiritsi hiukan hänen huviaan.

»Eno», hän sanoi hiukan happamesti, »jos tahdot tietää, mitä teen
tällä haavaa, tarvitsee sinun vain kääntää päätäsi ja katsella minua
mielin määrin eikä sivusilmäyksin kuin salapoliisi. Se on
epämiellyttävää».

Vastaukseksi puhuteltu veti taskustaan sianrakosta tehdyn


tupakkakukkaron, ja alkoi rauhallisesti kiertää itselleen savuketta.
Sitten hän tarjosi kukkaron ivallisen näköisenä sisarenpojalleen,
tietäen, ettei tämä voinut polttaa väkevää tupakkaa. Adrien kiitti ja
sytytti miedon egyptiläisen savukkeen.

»Sinä et enää kuulu meikäläisiin», mutisi talonpoika, iskien tulta


taulasta.

»Suo anteeksi, eno! Unohdin tarjota sinulle tulta».

Katse suuntautuneena kaukaisuuteen hän hetken vaiettuaan


lisäsi:

»Se johtuu siitä, että monet seikat häiritsevät mieltäni. Ensiksikin


myrskyinen paluumatka, joka niin huolestutti äitiä, sitten tämä musta
maa, jonka olin unohtanut, ja lopuksi ajatus, että pian näen Anghel-
enon kuvailemassasi tilassa. Tiedätkö muuten, minkätähden hän
kutsuu minua?»

»En tiedä… Hän lähetti eilen illalla sanan erään matkamiehen


mukana, että hän tahtoo kaikin mokomin nähdä sinut tänä aamuna».

»Onko hänen kapakkansa siis avoinna?»

Dimi katseli ällistyneenä sisarenpoikaansa, ja ärähti:

»Oletko mieletön? Kun kerran olen sanonut sinulle, että hän on


ollut kolme vuotta vuoteen omana ja että madot jäytävät häntä
elävältä, et kai tahtone, että hän nousee täyttämään laseja?
Ensinnäkin hän on vain luuranko, ja sitten hän on juonut kaiken,
juonut kaiken yksin».

Kauhu puistatti Adrienia ja hän kävi kalpeaksi. Rohkaistakseen


häntä eno sanoi:

»Sinun on terästäydyttävä, jollet tahdo tulla sairaaksi siitä, mitä


saat nähdä. Ei totisesti ole hauskaa katsella ihmistä tuollaisena. Hän
on Jobia kurjempi. Jos on uskottava isä Stefanin puheita, toipui Job
sairaudestaan ja tapasi hengissä kuolleet lapsensa ja sai takaisin
varastetun karjansa, mutta Anghel ei saa takaisin mitään eikä hän
enää koskaan nouse vuoteesta. Ajat ovat muuttuneet sitten Jobin
aikojen eikä Jumala enää tee ihmeitä. Syy on nähtävästi meissä…»

»Kuka hoitaa häntä?» kysyi Adrien tukahtuneella äänellä.

»Ei kukaan… toisin sanoen, hänen luonaan on poikanen, jota sinä


tuskin tunnet. Kuinka kauan on siitä, kun viimeksi kävit
kylässämme?»

»Noin kuusi vuotta».

»Kerronpa, mitä tapahtui. Noin neljä vuotta sitten eräs lapsi eksyi
kyläämme. Mistä hän tuli, sen Jumala yksin tietää, sillä hän änkyttää
siinä määrin, että kymmenestä sanasta ymmärtää vain yhden.
Hänen vaatteensa olivat rääsyiset ja ruumis täynnä sinelmiä. Kaikki
säälivät häntä. Hyvät ihmiset antoivat hänelle asunnon ja ruokaa
sekä tilaisuuden ansaita leipänsä. Mutta Jumala ei ole ollut kovin
antelias häntä kohtaan, sillä lapsi ei kyennyt paimentamaan edes
kahta vuonaa. Ne eksyivät häneltä, ja hän palasi parkuen kotiin
keppineen ja huitoi kuin noiduttu. Kukaan ei ymmärtänyt sanaakaan
hänen sammaltelustaan. Näin hän kulki ovelta ovelle ja sai tuntea
pakaroissaan monen puukengän suloisen kosketuksen. Viimein hän
joutui maantielle. Anghel korjasi hänet sieltä ja vei kotiinsa. Hän
koetti poliisin avulla päästä selville pojan syntyperästä, mutta
turhaan. Nyt huhutaan, että hän olisi kaikessa hiljaisuudessa
säätänyt pojalle kaiken jälelläolevan omaisuutensa, mikä ei liene
paljoakaan, sillä tynnyrit ovat tyhjät ja kapakka raunioina. Pieni
palvelija pystyy kuitenkin täyttämään isäntänsä vaatimukset, ja
heidän elämänsä on ehkä aivan ainutlaatuista maailmassa. Kesät,
talvet poikanen juoksentelee huvikseen ulkosalla, ehkäpä myöskin
raitista ilmaa kaivaten, sillä muuten hän tukehtuisi veli-parkani
ääressä, joka on vain elävä ruumis. Maaten siinä vuoteeseen
kytkettynä, ruumis yhtenä ainoana turtuneena haavana, on Anghelin
saatava joka neljännestunti pieni viinaryyppy. Hän ei enää jaksa
nostaa pulloa. Ja arvaahan, mitä hän on keksinyt siltä varalta, ettei
hän lapsen ulkona ollessa jaksaisi huutaa kyllin kovaa, saadakseen
hänet luokseen? No niin, hän on yksinkertaisesti hankkinut
vihellyspillin, jollaisia poliisit käyttävät, ja tarpeen tullen hän puhaltaa
pilliin. Poika on tarkka kuin kello. Kun hetki lähestyy, tulee hän
leikkimään avoimen ikkunan läheisyyteen, korva herkkänä
kuulemaan. Näin on laita kesällä. Talvella ovat ikkunat naulatut kiinni
ja tuketut, ja poikaviikari juoksentelee ulkosalla kuten ennenkin. Mitä
nyt on tehtävä? Jos hän kulkee edestakaisin ovessa, jäähtyy huone,
ja palvelija on aivan ymmällä. Mutta silloinpa sairas eräänä päivänä
keksii ikkunan tasalla seinässä juomalasin suun kokoisen reiän.
Mutta reiän tukkeena on aina olkituppu, ja tämän hoitaja tarpeen
tullen vetää pois ulkona ollessaan.

»Kuten arvata saattaa, unohtuu poikanen usein leikkimään.


Jätettynä oman onnensa nojaan saa Anghel silloin viheltää hiukan
liikaa viinatilkkansa vuoksi. Mutta hän on anteeksiantavainen. Ja
toisaalta hänen olisi mahdoton saada ketään pojan tilalle, vaikka hän
tahtoisikin. Jumala on lähettänyt tämän kutsumattoman vieraan
hoitamaan mädäntyvää miestä, ja veljeni sairaus tuottaa elatuksen
pienelle, puhetaidottomalle kerjäläispojalle».

»Neuvon sinua olemaan varuillasi. Kun lähestyt taloa, on sinun


ilmaistava tulosi, äläkä yritäkään mennä sisään kysymättä lapselta,
sillä tuo vesa elämöi kuin kuuromykkä. Ennenkuin arvaatkaan, saat
otsaasi kepistä, joka hänellä aina on kädessä».

Rattaat pysähtyivät tienristeykseen.

»Tästä voit jo mennä jalkaisin», sanoi Dimi.

»Etkö tule kanssani?»

»En, minulla on omia asioitani toimitettavana. Ja muutenkin on


parempi, että menet yksin».

Adrien sanoi hyvästi enolleen ja lähti astumaan Anghel-enon


kapakkaa kohti, jonka hän kuvitteli ruumishuonetta synkemmäksi.

Tie oli liejuinen, ja jalat upposivat siihen kuin livettävään taikinaan.


Hänen edessään ja ympärillään levisi autio, tumma, kylmä, kostea
tasanko ja vain siellä täällä näkyi joku valkoinen mökkipahanen
sinertävine ikkunoineen. Joka katolta kohosi ilmaan korkeita
savupatsaita.

*****

Adrien oli tähän aikaan kaksikymmentäneljävuotias. Kuutena viime


vuotena hän oli viettänyt synnyinkaupungissaan kaikenkaikkiaan
muutaman kuukauden, oleskellen enimmäkseen Bukarestissa —
missä oli ottanut kiihkeästi osaa vallankumoukselliseen liikkeeseen

You might also like