Contents at a Glance
Introduction
PART I THE HOLY GRAIL OF MODULARITY
CHAPTER 1 The quest for modular software architecture
CHAPTER 2 The ultimate gist of DDD
CHAPTER 3 Laying the ground for modularity
PART II ARCHITECTURE CLEANUP
CHAPTER 4 The presentation layer
CHAPTER 5 The application layer
CHAPTER 6 The domain layer
CHAPTER 7 Domain services
CHAPTER 8 The infrastructure layer
PART III COMMON DILEMMAS
CHAPTER 9 Microservices versus modular monoliths
CHAPTER 10 Client-side versus server-side
CHAPTER 11 Technical debt and credit
Index
Contents
Acknowledgments
Introduction
PART I THE HOLY GRAIL OF MODULARITY
Chapter 1 The quest for modular software architecture
In the beginning, it was three-tier
Core facts of a three-tier system
Layers, tiers, and modularization
The DDD canonical architecture
The proposed supporting architecture
Adding more to the recipe
Different flavors of layers
Hexagonal architecture
Clean architecture
Feature-driven architecture
Summary
Chapter 2 The ultimate gist of DDD
Design driven by the domain
Strategic analysis
Tactical design
DDD misconceptions
Tools for strategic design
Ubiquitous language
A domain-specific language vocabulary
Building the glossary
Keeping business and code in sync
The bounded context
Making sense of ambiguity
Devising bounded contexts
The context map
Upstream and downstream
An example context map
An example deployment map
Summary
Chapter 3 Laying the ground for modularity
Aspects and principles of modularization
Separation of concerns
Loose coupling
Reusability
Dependency management
Documentation
Testability
Applying modularization
The presentation layer: interacting with the outside world
The application layer: processing received commands
The domain layer: representing domain entities
The data/infrastructure layer: persisting data
Achieving modularity
More modularity in monoliths
Introducing microservices
The simplest solution ever
Maintainability
Designing for testability
Summary
PART II ARCHITECTURE CLEANUP
Chapter 4 The presentation layer
Project Renoir: the final destination
Introducing the application
The abstract context map
Designing the physical context map
Business requirements engineering
Breakdown of software projects
Event-based storyboards
Fundamental tasks of Project Renoir
Boundaries and deployment of the presentation layer
Knocking at the web server’s door
ASP.NET application endpoints
Presentation layer development
Connecting to business workflows
Front-end and related technologies
API-only presentation
Summary
Chapter 5 The application layer
An architectural view of Project Renoir
The access control subsystem
The document-management subsystem
Project Renoir in Visual Studio
Task orchestration
What is a task, anyway?
An example distributed task
An example task in Project Renoir
Data transfer
From the presentation layer to the application layer
From the application layer to the persistence layer
Implementation facts
Outline of an application layer
Propagating application settings
Logging
Handling and throwing exceptions
Caching and caching patterns
Injecting SignalR connection hubs
Boundaries and deployment of the application layer
The dependency list
Deployment options
Summary
Chapter 6 The domain layer
Decomposition of the domain layer
The business domain model
Helper domain services
Devising a domain model
Shifting focus from data to behavior
Life forms in a domain model
The domain model in Project Renoir
The hitchhiker’s guide to the domain
Treating software anemia
Common traits of an entity class
Rules of etiquette
Style conventions
Writing truly readable code
Summary
Chapter 7 Domain services
What is a domain service, anyway?
The stateless nature of domain services
Marking domain service classes
Domain services and ubiquitous language
Data access in domain services
Data injection in domain services
Common scenarios for domain services
Determining the loyalty status of a customer
Blinking at domain events
Sending business emails
Service to hash passwords
Implementation facts
Building a sample domain service
Useful and related patterns
The REPR pattern adapted
Open points
Are domain services really necessary?
Additional scenarios for domain services
Summary
Chapter 8 The infrastructure layer
Responsibilities of the infrastructure layer
Data persistence and storage
Communication with external services
Communication with internal services
Implementing the persistence layer
Repository classes
Using Entity Framework Core
Using Dapper
Hosting business logic in the database
Data storage architecture
Introducing command/query separation
An executive summary of event sourcing
Summary
PART III COMMON DILEMMAS
Chapter 9 Microservices versus modular monoliths
Moving away from legacy monoliths
Not all monoliths are equal
Potential downsides of monoliths
Facts about microservices
Early adopters
Tenets of a microservices architecture and SOA
How big or small is “micro”?
The benefits of microservices
The gray areas
Can microservices fit all applications?
The big misconception of big companies
SOA and microservices
Are microservices a good fit for your scenario?
Planning and deployment
Modular monoliths
The delicate case of greenfield projects
Outlining a modular monolith strategy for new projects
From modules to microservices
Summary
Chapter 10 Client-side versus server-side
A brief history of web applications
The prehistoric era
The server-scripting era
The client-scripting era
Client-side rendering
The HTML layer
The API layer
Toward a modern prehistoric era
Server-side rendering
Front-end–back-end separation
ASP.NET front-end options
ASP.NET Core versus Node.js
The blocking/non-blocking saga
Summary
Chapter 11 Technical debt and credit
The hidden cost of technical debt
Dealing with technical debt
Ways to address debt
Debt amplifiers
The hidden profit of technical credit
The theory of broken windows
The power of refactoring
Do things right, right away
Summary
Index
Acknowledgments
As hair thins and grays, memories return of when I was the youngest in every meeting or conference room. In 30 years of my career, I witnessed the explosion of Windows as an operating system, the rise of the web accompanied by websites and applications, and then the advent of mobile and cloud technologies.
Several times, I found myself having visions related to software technology developments, not too far from what happened a few years later. At other times, I surprised myself by formulating personal projects halfway between dreams and ambitious goals.
The most unspoken of all is the desire to travel the world, speaking at international conferences without the pressure to talk about what is cool and trendy but only about what I have seen and made work without mincing words and without filters or reservations. To do this, I needed to work—finally—daily on the development of real applications that contributed to some kind of business and simplified the lives of some kind of audience.
Thanks to Crionet and KBMS Data Force, this is now a reality.
After many years, I have a full-time position (CTO of Crionet), a team of people grown in a few years from juniors to bold and
capable professionals, and the will to share with everyone a recipe for making software that is neither secret nor magical.
I have nothing to sell; only to tell. And this book is for those who want to listen.
This book is for Silvia and Francesco.
This book is for Michela.
This book is for Giorgio and Gaetano. This book was made possible by Loretta and Shourav and came out as you’re getting it thanks to Milan, Tracey, Dan, and Kate.
This book is my best until the next one!
Introduction
I graduated in Computer Science in the summer of 1990. At the time, there were not many places in Europe to study computers. The degree course was not even set up with its own Computer Science faculty but was an extension of the more classical faculty of Mathematics, Physics, and Natural Sciences. Those with strong computer expertise in the 1990s were really cool people—in high demand but with unclear career paths. I started as a Windows developer. Computer magazines were popular and eagerly awaited every month. I dreamt of writing for one of them. I won the chance to do it once and liked it so much that I’m still doing it today, 30 years later.
My passion for sharing knowledge was so intense that five years after my first serious developer job it became my primary occupation. For over two decades all I did was write books and articles, speak at conferences, teach courses, and do occasional consulting. Until 2020, I had a very limited exposure to production code and the routine of day-by-day development. Yet, I managed to write successful books for those who were involved in real-world projects.
Still, in a remote area of my mind was a thorny doubt: Am I just a lecture type of professional or am I also an action person? Will I be
able to ever build a real-world system? The pandemic and other life changes brought me to ultimately find an answer.
I faced the daunting task of building a huge and intricate system in a fraction of the time originally scheduled that the pandemic sharply cut off. No way to design, be agile, do testing and planning—the deadline was the only certain thing. I resorted to doing—and letting a few other people do—just what I taught and had discovered while teaching for years. It worked. Not just that. Along the way, I realized that the approach we took to build software, and related patterns, also had a name: clean architecture. This book is the best I know and have learned in three years of everyday software development after over two decades of learning, teaching, and consulting.
In our company, we have several developers who joined as juniors and have grown up using and experimenting with the content of this book. It worked for us; I hope it will work for you, too!
Who should read this book
Software professionals are the audience for this book, including architects, lead developers, and—I would say, especially—developers of any type of .NET applications. Everyone who wants to be a software architect should find this book helpful and worth the cost. And valid architects are, for the most part, born developers. I
strongly believe that the key to great software passes through great developers, and great developers grow out of good teachers, good examples, and—hopefully—good books and courses.
Is this book only for .NET professionals? Although all chapters have a .NET flavor, most of the content is readable by any software professional.
Assumptions
This book expects that you have at least a minimal understanding of .NET development and object-oriented programming concepts. A good foundation in using the .NET platform and knowledge of some data-access techniques will also help. We put great effort into making this book read well. It’s not a book about abstract design concepts, and it’s not a classic architecture book either, full of crossreferences or fancy strings in square brackets that hyperlink to some old paper listed in a bibliography at the end of the book. It’s a book about building systems in the 2020s and facing the dilemmas of the 2020s, from the front end to the back end, passing through cloud platforms and scalability issues.
This book might not be for you if…
If you’re seeking a reference book or you want to find out how to use a given pattern or technology then this book might not for you.
Instead, the goal is sharing and transferring knowledge so that you know what to do at any point. Or, at least, you now know what other guys—Dino and team—did in an analogous situation.
Organization of this book
In all, modern software architecture has just one precondition: modularity. Whether you go with a distributed, service-oriented structure, a microservices fragmented pattern, or a compact monolithic application, modularity is crucial to build and manage the codebase and to further enhance the application following the needs of the business. Without modularity, you can just be able to deliver a working system once, but it will be hard to expand and update it.
Part I of this book, titled “The Holy Grail of modularity,” lays the foundation of software modularity, tracing back the history of software architecture and summarizing the gist of domain-driven design (DDD)—one of the most helpful methodologies for breaking down business domains, though far from being an absolute necessity in a project.
Part II, “Architecture cleanup,” is about the five layers that constitute, in the vision of this book, a “clean” architecture. The focus is not much on the concentric rendering of the architecture, as popularized by tons of books and articles, but on the actual value
delivered by constituent layers: presentation, application, domain, domain services, and infrastructure.
Finally, Part III, “Common dilemmas,” focuses on three frequently faced stumbling blocks: monoliths or microservices, client-side or server-side for the front end, and the role and weight of technical debt.
Downloads: reference application
Part II of the book describes a reference application, Project Renoir, whose entire codebase is available on GitHub at:
https://github.com/Youbiquitous/project-renoir
A zipped version of the source code is also available for download at MicrosoftPressStore.com/NET/download.
Note
The reference application requires .NET 8 and is an ASP.NET application with a Blazor front end. It uses Entity Framework for data access and assumes a SQL Server (any version) database.
Errata, updates, and book support
We’ve made every effort to ensure the accuracy of this book and its companion content. You can access updates to this book—in the form of a list of submitted errata and their related corrections—at:
MicrosoftPressStore.com/NET/errata
If you discover an error that is not already listed, please submit it to us at the same page.
For additional book support and information, please visit MicrosoftPressStore.com/Support.
Please note that product support for Microsoft software and hardware is not offered through the previous addresses. For help with Microsoft software or hardware, go to http://support.microsoft.com.
Stay in touch
Let’s keep the conversation going! We’re on Twitter: http://twitter.com/MicrosoftPress
CHAPTER VI
ARTICULATION EXERCISES
The pronunciations and definitions throughout these pages are those given in “Webster’s New International Dictionary,” published by G. & C. Merriam Co., Springfield, Mass., 1918 Edition.
Without a graceful and pleasing enunciation, all your elegancy of style in speaking is not worth a farthing.
C .
In the utterance of words we are concerned with the following terms: Pronunciation, Enunciation and Articulation. In a general way their meanings are identical, but yet there is a mark of difference characterizing each.
Pronunciation has to do with the act of uttering a single letter, syllable, word, sentence, or whole address. This concerns correctness.
Enunciation has to do with careful, distinct utterance so that any word or any part of a word is completely audible. This concerns distinctness.
Articulation has to do with the act of gracefully and skillfully manipulating those organs of speech necessary for the correct pronunciation and distinct enunciation of words. This concerns skillfulness.
At least a part of the following exercises should be practiced daily, preferably in the morning. A few minutes’ practice is a splendid tonic for the tasks of the day.
I. F L J
1. Repeat e a aw ah o oo. In doing this extend the lips and use a relaxed jaw.
2. Repeat again, giving a rising inflection to each. Then give each sound the falling inflection, and then the circumflex inflection.
3. Intone them on successive pitches. Be sure you have pure vowel quality.
4. Whisper the sounds e aw permitting the jaw, in the latter sound, to drop completely relaxed each time.
II. F L , T S P
1. Repeat eb ab awb ahb ob oob.
2. Repeat ed ad awd ahd od ood.
3. Repeat eg ag awg ahg og oog.
4. Repeat ek ak awk ahk ok ook.
III. T A , B S
1. Repeat the breath sound of p wh f th s t sh h k.
2. Repeat wh (when) whe wha whaw whah who whoo.
3. Repeat fe fa faw fah fo foo.
4. Repeat th (thin) the tha thaw thah tho thoo.
5. Repeat se sa saw sah so soo.
6. Repeat te ta taw tah to too.
7. Repeat she sha shaw shah sho shoo.
8. Repeat he ha haw hah ho hoo.
9. Repeat ke ka kaw kah ko koo.
10. Repeat pe pa paw pah po poo.
IV. T S -V S
1. Repeat the vocal sound of b w th v z d r zh y g.
2. Repeat be ba baw bah bo boo.
3. Repeat w (wise) we wa waw wah wo woo.
4. Repeat ve va vaw vah vo voo.
5. Repeat ze za zaw zah zo zoo.
6. Repeat de da daw dah do doo.
7. Repeat re ra raw rah ro roo.
8. Repeat zhe zha zhaw zhah zho zhoo.
9. Repeat ye ya yaw yah yo yoo.
10. Repeat ge ga gaw gah go goo.
11. Repeat th (thine) the tha thaw thah tho thoo.
V. T L S
1. Repeat l m n.
2. Repeat le la law lah lo loo.
3. Repeat me ma maw mah mo moo.
4. Repeat ne na naw nah no noo.
VI. T N S
1. Repeat m-m-m-e m-m-m-a m-m-m-aw m-m-m-ah m-m-m-o m-mm-oo.
2. Repeat n-n-n-e n-n-n-a n-n-n-aw n-n-n-ah n-n-n-o n-n-n-oo.
3. Repeat ng-ng-ng-e ng-ng-ng-a ng-ng-ng-aw ng-ng-ng-ah ng-ngng-o ng-ng-ng-oo.
VII. C S
1. 2. 3. 4.
Breath Voice Breath Voice Breath Voice Breath Voice
fe ve whe we se ze she zhe
fa va wha wa sa za sha zha
faw vaw whaw waw saw zaw shaw zhaw
fah vah whah wah sah zah shah zhah
fo vo who we so zo sho zho
foo voo whoo woo soo zoo shoo zhoo
Here follow a number of difficult combinations especially good for the pupil who mumbles or is habitually careless and indolent. Their use is effective in producing flexibility of lips, tongue and palate. It is not advisable to spend too intensive or too long practice, however, upon these so-called tongue-twisters lest verbal utterance becomes a laborious, mechanical process. But there are some who need just such exercises, and those who desire rapid and distinct articulation cannot practice them too much, provided their exercise is interesting or amusing.
Betty Botter bought some butter.
“But,” she said, “this butter’s bitter; If I put it in my batter, It will make my batter bitter; But a bit of better butter Will but make my batter better.”
So she bought a bit o’ butter Better than the bitter butter, And made her bitter batter better. So ’twas better Betty Botter Bought a bit of better butter.
Sheffield Telegraph.
“Thunder,” thought Theresa. “Thieves!” throbbed Theodore.
Theresa thumped, threatened, thwarted those three thieves, throwing the thick thesaurus—that thrilled them! Theodore thanked Theresa.
I like to write about Marie, For glee and she and be and see And we and plea and free and me All go nicely with Marie. Chicago Herald.
How much wood would a wood chuck chuck
If a wood chuck could and would chuck wood? He’d chuck as much wood as a wood chuck would If a wood chuck could and would chuck wood.
A thatcher of Thatchwood went to Thatchet a-thatching.
Five flippy Frenchmen foolishly fanning fainting flies.
Eight eager, earnest, eccentric Englishmen eating eleven elusive eagles.
High up the hill he heaved a huge hoe.
A cheap, changeable, child-like chimpanzee champion playing checkers with Charles.
Black bugs’ blood. (Repeat quickly.)
When a twiner a-twisting will twist him a twist, For the twining his twist he three twines doth entwist. But if one of the twines of the twist doth untwist The twine that untwisted, untwisteth the twist.
As much of the dew that the dew drops drop, if dew drops do drop dew.
A tutor, who tooted a flute, tried to tutor two tooters to toot. Said the two to the tutor: “Is it harder to toot, or tutor two tooters to toot?”
A shy little she said shoo
To a fly and a flea in a flue. Said the flea, “Let us fly.”
Said the fly, “Let us flee.”
So they flew through a flaw in the flue.
Amidst the mists and coldest frosts, With barest wrists and stoutest boasts, He thrusts his fists against the posts, And still insists he sees the ghosts.
Bring a bit of buttered bran bread. Lucy likes light literature.
Around the rough and rugged rocks the ragged rascal ran. A lovely lily lying all alone along the lane. Can a stammerer flatter a flatterer?
The bald lawyer saw all in the hall. Ask at last the flask for the task.
To the Windmills said the Millwheel:
“As the wind wills do you still wheel?”
“Yes, we still wheel when the wind wills!”
To the Millwheel said the Windmills.
She stood at the door of Mrs. Smith’s fish-sauce shop in the Strand welcoming him in.
Sisyphus sold six pairs of shining steel, slippery scissors.
What noise annoys a noisy oyster most? A noisy noise annoys noisy oyster most.
A little leaven leaveneth the whole lump. (Not whole hump.)
A sad dangler. (Not angler.)
A languid dame. (Not aim.)
His crime moved me. (Not cry.)
He will prate to anybody. (Not pray.)
Chaste stars. (Not tars.)
Irish yews. (Not shoes.)
“Give the cat stale bread!” “The cat’s tail, mamma?”
“Silence, child!”
Fill the sieve with thistles, then sift the thistles in the sieve.
A glowing gleam glowing green.
The bleak breeze blighted the bright broom blossoms.
Flesh of freshly dried flying fish.
Six thick thistle sticks.
Two toads tried to trot to Tedbury.
Give Grimes Jim’s great gilt gig whip.
Strong Stephen Stringer snared slickly six sickly silky snakes.
Much water makes the meal-mill wheel work well.
Eye her highness, how high she holds her old haughty head.
The soup must be heated before he eat it.
Hugh Go goes for the girls that he sees; Pa Go goes ’cause it limbers his knees; Ma Go goes for the ease ’neath the trees;
Nanny Go goes for the coasters that please; Letta Go goes for Galligher’s squeeze. So, go where the Goes go.
Max with a wax match.
The sea ceaseth—it sufficeth sufficiently that the sea ceaseth. Six slick slim slippery slimy sleek slender sickly saplings.
Owen Moore went away Owing more than he could pay; Owen Moore came back one day Owing more.
There was a young fellow named Tait Who dined with his girl at 8:08. As Tate did not state, I cannot relate
What Tate and his tête-à-tête ate at 8:08.
A farmer had a seeder for the seeding of the seed. It was a cedar seeder, and said he: “I never seed a seeder that could exceed this yere cedar seeder for the seedin’ of the seed.”
SIMON SHORT’S SON SAMUEL
Shrewd Simon Short sewed shoes. Seventeen summers’ speeding storms, spreading sunshine, successively saw Simon’s small shabby shop still stanch; saw Samuel’s self-same squeaking sign still swinging, silently speechifying: “Simon Short, Smithfield’s sole surviving shoemaker, shoes sewed, soled superfinely.”
Simon’s spry, sedulous spouse, Sally Short, sewed shirts, stitched sheets, stuffed sofas. Simon’s six stout, sturdy sons, Seth, Samuel, Stephen, Saul, Shadrach, Silas—sold sundries. Sober Seth sold sugar, starch, spice; Simple Samuel sold saddles, stirrups, screws; sagacious Stephen sold silks, satins, shawls; skeptical Saul sold silver salvers; selfish Shadrach sold salves, shoestrings, soap, skates, saws, sausages, sawdust; slack Silas sold Sally Short’s stuffed sofas.
Some seven summers since, Simon’s second son, Samuel, saw Sophia Sophronia Spriggs, sweet, sensible, smart Sophronia Spriggs. Sam showed strange symptoms. Sam seldom stayed storing, selling saddles. Sam sighed sorrowfully, sought Sophia Sophronia Spriggs’ society; sung several serenades slyly. Simon stormed, scolded severely, said Sam seemed so silly singing such shameful, senseless songs. “Strange, Sam should slight such splendid summer sales! Strutting Spendthrift! Shatter-brained simpleton!”
“Softly, softly, sire!” said Sally. “Sam’s smitten; Sam’s spied some sweetheart.”
“Sentimental schoolboy!” snarled Simon. “Smitten! stop such stuff!” Simon sent Sally’s snuffbox spinning, seized Sally’s scissors, smashed Sally’s spectacles, scattered several spools. “Sneaking scoundrel! Sam’s shocking silliness shall surcease!” Scowling Simon stopped speaking, starting swiftly shopward. Sally sighed sadly. Summoning Sam, she spoke sweet sympathy.
“Sam,” said she, “Sire seems singularly snappy; so, sonny, stop strutting streets, stop smoking segars, spending specie superfluously, stop sprucing so, stop singing serenades, stop short! Sell saddles sensibly. See Sophia Sophronia Spriggs soon; she’s sprightly; she’s stable. So, solicit, sue, secure Sophia speedily, Sam.”
“So soon? So soon?” said Sam, standing stock-still.
“So soon, surely,” said Sally, smiling, “’specially since Sire shows such spirits.”
So Sam, somewhat scared, sauntered slowly, shaking stupendously. Sam soliloquizes: “Sophia Sophronia Spriggs— Spriggs—Samuel Short’s spouse—sounds splendid. Suppose she should say—shoo? She shan’t! She shan’t!”
Soon Sam spied Sophia starching shirts, singing softly. Seeing Sam, she stopped starching, saluted Sam smilingly. Sam stammered shockingly: “Spl-spl-splendid summer season, Sophia.”
“Somewhat sultry,” suggested Sophia.
“Sar-sartin, Sophia,” said Sam! (Silence seventeen seconds.)
“Selling saddles, still, Sam?”
“Sartin,” said Sam, starting suddenly. “Season’s somewhat sudorific,” said Sam, stealthily staunching sweat, shaking sensibly.
“Sartin,” said Sophia, significantly. “Sip some sherbert, Sam?” (Silence sixty seconds.)
“Sire shot sixty sheldrakes, Saturday,” said Sophia.
“Sixty? sho!” said Sam. (Silence seventy seconds.)
“See Sister Susan’s sunflowers,” said Sophia, sociably scattering such stiff silence.
Sophia’s sprightly sauciness stimulated Sam strangely; so Sam suddenly spoke sentimentally, “Sophia, Susan’s sunflowers seem saying, ‘Samuel Short, Sophia Sophronia Spriggs, stroll serenely, sequestered spot, some sylvan shade. Sparkling springs shall sing soul-soothing strains; sweet songsters shall silence secret sighings; super-angelic sylphs shall—’”
Sophia snickered, so Sam stopped.
“Sophia,” said Sam solemnly.
“Sam,” said Sophia.
“Sophia, stop smiling. Sam Short’s sincere. Sam’s seeking some spouse, Sophia!”
Sophia stood silent.
“Speak! Sophia, speak! Such suspense stimulates sorrow.”
“Seek Sire, Sam, seek Sire!”
Sam sought Sire Spriggs. Sire Spriggs said, “Sartin.”
So Sophia Sophronia Spriggs serenely signs Sam’s screeds “Sophia Sophronia Spriggs Short.”
Theophilus Thistle, the successful thistle sifter, in sifting a sieve full of unsifted thistles, thrust three thousand thistles through the thick of his thumb. Now if Theophilus Thistle, the successful thistle sifter, in sifting a sieve full of unsifted thistles thrust three thousand thistles through the thick of his thumb, see that thou, in sifting a sieve full of unsifted thistles, thrust not three thousand thistles through the thick of thy thumb.
There was a man named Bill. The said Bill owned a bill-board and he also owed a board-bill. Bill’s board-bill fell due, but owing to the fact that Bill’s bill-board held all his money, the said Bill was unable to settle the board-bill. Bill’s landlady was much bored with Bill, with Bill’s board-bill and with Bill’s bill-board. Bill also became bored with himself, bored with his landlady, bored with his board-bill, and bored with his bill-board. So Bill, bored and bored and bored by her who was also bored and bored and bored, sold his bill-board and paid his board-bill; and thus Bill who was often bored and the board that was often billed and the bill that often bored—Bill, bill-board and boardbill, together with the thrice-bored board-bill lady served to make history, the reading of which continues to bore all owners of billboards and owners of board-bills to this day.
Though doubtless written with some immediate political purpose, with which we have no concern, the student of a perfect enunciation will find the following a most helpful exercise.
AIN’T IT THE TRUTH?
B T F
Woodrow Wilson works wonders while Windy worldlings weary welkins with What were whilom winful warcries. While wayward Washingtonians without Wit whimper wearisomely, while witless Wretches whine weasel words with will, While woebegone weaklings wobble, Waver, wizen; while weasened warlocks
Who want weapons wickedly weave webs, Woodrow who would wither weltering World war works wholesouledly. Woodrow Warps world-peace woof with western Wisdom, whipsaws wayfaring wastrels
Who would wantonly wreck. Woodrow Whangs werewolves, watches whisperers, Whales welchers. Woodrow warily
Wheedles world-hardened wiseacres
Who wrangle. Woodrow without Weakening whacks wooden-headed
Whippersnappers who warble. Woodrow’s Welcome World Weal wins war-weary
Womankind, wan widows whose warriors Were wasted, wink warmly, winsome Wenches whoop wildly, waltzing
Walkyrie-like, worthy wives warble
Whimsically. Woodrow withal wakes World wants which were withered. Whangdoodles with warlike ways
Would well ’ware Wilson.
—Los Angeles Times, March 20, 1919.
FAR-FAMED FAIRY TALE OF FENELLA[1]
(1) A Famous Fish Factor Found himself Father of Five Fine Flirting Females—Fanny, Florence, Fernanda, Francesca, and Fenella. (2) The First Four were Flat-Featured, ill-Favored, Forbidding-Faced, Freckled Frumps; Fretful, Flippant, Foolish, and Flaunting. (3) Fenella was a Fine-Featured, Fresh, Fleet-Footed Fairy; Frank, Free and Full of Fun. (4) The Fisher Failed and was Forced by Fickle Fortune to Forego his Footman, Forfeit his Forefather’s Fine Fields, and Find a Forlorn Farmhouse in a Forsaken Forest. (5) The Four Fretful Females, Fond of Figuring at Feasts in Feathers and Fashionable Finery, Fumed at their Fugitive Father. (6) Forsaken by Fulsome, Flattering Fortune-hunters, who Followed them when Fish Flourished, Fenella Fondled her Father, Flavored their Food, Forgot her Flattering Followers, and Frolicked in Frieze without Flounces. (7) The Father, Finding himself Forced to Forage in Foreign parts for a Fortune, Found he could afford a Fairing For his Five Fondlings. (8) The First Four were Fain to Foster their Frivolity with Fine Frills and Fans, Fit to Finish their Father’s Finances; Fenella, Fearful of Flooring him, Formed a Fancy For a Full, Fresh Flower. (9) Fate Favored the Fish-Factor For a Few days, when he Fell in with a Fog; his Faithful Filly’s Footsteps Faltered, and Food Failed. (10) He Found himself in Front of a Fortified Fortress. Finding it Forsaken, and Feeling himself Feeble and Forlorn with Fasting, he Fed upon the Fish, Flesh and Fowl he Found, Fricasseed and Fried; and when Full, Fell Flat on the Floor (11) Fresh in the Forenoon he Forthwith Flew to the Fruitful Fields, and, not Forgetting Fenella, he Filched a Fair Flower; when a Foul, Frightful, Fiendish Figure Flashed Forth, “Felonious Fellow!— Fingering my Flower—I’ll Finish you! Go, say Farewell to your Fine, Felicitous Family, and Face me in a Fortnight.” (12) The Fainthearted Fisher Fumed and Faltered, and Fast was Far in his Flight. (13) His Five daughters Flew to Fall at his Feet, and Fervently Felicitate him. (14) Frantically and Fluently he unfolded his Fate. (15) Fenella, Forthwith, Fortified by Filial Fondness, Followed her Father’s Footsteps, and Flung her Faultless Form at the Foot of the Frightful Figure, who Forgave the Father, and Fell Flat on his Face;
For he had Fervently Fallen in a Fiery Fit of love For the Fair Fenella. (16) He Feasted and Fostered her, till, Fascinated by his Faithfulness, she Forgot the Ferocity of his Face, Form and Feature; and Frankly and Fondly Fixed Friday Fifth of February, For the affair to come off. (17) There were present at the wedding, Fanny, Florence, Fernanda, Francesca, and the Fisher. (18) There were Festivity, Fragrance, Finery, Fireworks, Fricasseed Frogs, Fritters, Fish, Flesh, Fowl and Furmenty; Frontignac, Flip, and Fare Fit For the Fastidious; Fruit, Fuss, Flambeaux, Four Fat Fiddlers, and Fifers; and the Frightful Form of the Fortunate and Frumpish Fiend Fell From him, and he Fell at Fenella’s Feet, a Fair-Favored, Fine, Frank Freeman of the Forest! (19) Behold the Fruits of Filial affection!— Comic Times.
MY M-MADE MEMORY MEDLEY
MENTIONING MEMORY’S MARVELOUS MANIFESTATIONS[2]
(1) Memory Means Mind—Mind Means Memory. (2) Memory Most Mysteriously Makes Mental Memoranda. (3) Matured Metaphysical Meditation Manifests Memory Man’s Mighty Maker’s Manifoldly Marvelous, Magnificent Masterpiece. (4) Memory Makes, Molds, Modifies, Moves, Maintains Mind; Memory Moves Man’s Mouth; Memory Manages Man’s Manipulations. (5) Multitudinous Misfortunes Mark Meager Memory, Municipal Mismanagement, Maritime Mishaps, Mercantile Miscalculations. (6) Meager Memory Means Mystification, Misconception, Misunderstanding, Mournful Mental Malady. (7) Many Men Meditating Merge ’Mid Mystification, Mostly Meaning Mismanaged Memory. (8) Meager Memory Makes Many Men Mere Mute Mummies. (9) Mold Memory, Manage Memory; Make Memory-Meditations Mind-Making Material. Mere Mechanical, Muttering Memory Makes Many Men Mere MeaningMinus Magpies. (10) Memory Managed Methodically, Manifests Marvelous Might. (11) Many Maddened Masters Murmuringly Mistrust Meritedly Mistrusted Menials’ Muddly Memories. (12) Menials’ Message Mangling Misconduct, Magical Modern Memory Methods Most Materially Mitigate. (13) Memory Methods Master Most Marvelous Medleys. (14) Miss Market-Much Might Memorize
Meat, Mustard, Mushrooms, Melons, Marmalade, Milk, Mullets, Mops, Matches, Medicine, Myrrh, Musk, Muslin, Music; Moreover Many Miscellaneous Momentous Messages. (15) Many Men Much Misunderstand Memory Methods, Making Mental Mazes Much More Mysterious; Making Mere Mole-Mounds Mule Maddening-Mountains; Making Minutest Mites Mighty Mammalia. (16) Many Men Mentally Merely Move Mobward, Mingling Mimicked, Meaningless Murmurings ’Midst Misty-Minded Men’s Maniacal Mutterings, Menacing Memory Method’s Mutilation. Mildly, Manfully, Mockingly, Memory Men March, Maintaining Majesty (17) Mercenary Motives, Mistaken Monetary Management May Make Many Meanly Miss Mentally Masticating Memory Methods. Moral Men Manifesting Manly Motives May Mention Memory’s Marvelous Malleability, Making Memory’s Maximum Man’s Mental Meridian! (18) MurkyMinded, Misanthropic, Monopolizing Men May Malevolently Mutter Many Mischievous, Malice-Molded Maledictions, Mockingly Mistrusting Memory Methods. (19) Memory Methods Master Minutely Many Manuals, Mosaic Maxims, Mediæval Memorables, Masonic Mysteries, Mechanical Movements, Mineral Mixtures, Medicinal Metamorphoses, Musical Measures, Mathematical Materials, Mercantile Managements, Momentary Mementos. (20) Memory Methods Might Make Monarchs, Ministers, Members, Mayors, Magistrates, Mouth Most Mightily, Minus Manuscripts. (21) Memory Methodically Manifested Makes Man Muscularly, Mentally, Morally, Mercantilely, Much More Manly. (22) Memory May Make Metropolitan Manufacturers Manufacture Many Most Magnificent Materials, Merely Marking Mentally Modistes’ Modified Matchless Models. (23) Memory Makes Money-Moving Merchants Mass Many More Money-Mounds. (24) Memory Makes Morose Men Much More Mannerly. Memory Makes Men’s Motto “Mutely Miss Mischievous Meddling.” (25) Memory, Marking Man’s Misguided Mind, Makes Man Merciful. Mingled Mortifications, Minus Merciful Memory, Make Minor Mistakes Miscreant Misdemeanors. (26) Memory, Methodized, Makes More Magnetic, Meltingly Melodious, Meekminded, Modest, Marriageable Maidens. (27) Memory Makes Mothers Manage Minutest, Multitudinously Miscellaneous Matters Meritoriously Maternally. (28) Memory Makes Model Men Matchlessly Master
Mimicry Memory Makes Mimics Mimic Minutely (29) Mind— Memory! Mockingly, Maddeningly, Manages, Masters, Manacles Men’s Mere Muscular Might. (30) Memory Molds Men’s Musings; Millionaires’ Musings May Mark Moldering Marble Monuments, Mutely Mentioning Magnificent Munificences. (31) Military Men, Musing, May Mark Muskets, Matchless Marksmen, Mortars, Majors, Men, Movements, Maneuvers. (32) Milkmaid’s Musings May Mark Mist-Moistened Meadows, Mirthful Milkmen Merrily Milking, Millers, Mills, Men Mowing, Moving Mud-Mounds, Minding Mares, Managing Managers, Malting; Master’s Mansion, Master Making Market Memos.; Mistress Making Mincemeat; Miss Millie “Musicking”; Master Mathew Meeting Miss May Marry-Me. (33) Man’s Misconduct Makes Meditation—Memory—Mental Misery. (34) Murderers’ Morbid Minds Meek Morpheus Molests, Making Midnight’s Mysterious Musings Merciless Mental Martyrdoms. (35) Methodical Memorizing Means Mating Mentally—Mark! Minister Manuscript—Manuscript Mission—Mission Money—Money Missionary—Missionary Mohammedan—Mohammedan Meditate—Meditate Misconduct— Misconduct Mediator—Mediator Messiah! Mark, Moreover, Memory Methods Make Mixed Mental Masses Most Marvelously Manageable. Meager Memory, Moderate Memory, Mighty Memory, Method May Magnify Much. (36) Mentioning My M-Made Memory Medley, May Make Many Melancholy Moping Men Manifest Much Merriment. (37) Many Merely Muttering My M-Made Memory Medley May Make Multitudinous Mistakes. (38) My Memory Men May Memorize My Matchlessly Mouth Martyrdomizing M-Made Memory Medley!!!
—W S .
If one has a little spare time, he can use it to good advantage in making alliterative exercises for himself. It will enlarge his vocabulary, discipline him in the use of unfamiliar words, and, at the same time, afford him opportunity for linguistic practice for the improvement of his pronunciation, enunciation and articulation. For instance, here are a few crude attempts made by one of the authors
when he was lying on a sick-bed and desired a change of mental occupation.
MIGHTY MAJESTIC MIND
M ’ M , M , M M
Mind magnificently masters man. Mind majestically manages man’s muscular, mental, moral movements. Man moves materially. Material movements mean motions made muscularly, mechanically. Man’s mechanics move as man’s mind mandates. Mere mechanicalman, muscular-man, means microcosmic majesty, but man’s moral mentality, mysteriously manifests man’s Mighty Maker’s magnificent, matchless majesty. Mind manifestations mean mentation, mystery, method, municipal management, music, melody, multifarious manufactures, market manipulations, Marconi messages, macadamization, motor movements, mechanical mastery, metallic mixtures, muscular motions mentally mandated, maritime maneuvers, magnetic mastery. Men’s mental missteps mean misery, morbidity, moroseness, many moon’s mournful meditations. Man’s mind mismanaged means mental mirages, miserable miserliness, mean marriages. Many men marry mistakenly, merely marking mean mentality, moral mismanagement. Miserable marriages mean morbid mouthings, misleading marital mirages, moral missteps, monotonous months, mean moments, miserable meetings. Mean, malicious, morally morbid, meddling marplots make many marriage mates miserable, mouthing mendacious misstatements, manufacturing mean messages, making matrons mutely meditate mauling mysterious maidens who merrily manipulate meager-minded men. Methodistical, Mennonite maidens, meditating many men’s malodorous matrimonial mishaps, mercilessly meditate maidenhood, mocking marriage misfits. Maidens morally, mentally, muscularly married, majestically move matronward, meeting motherhood merrily. Mighty Majestic Mind made Maiden Mary’s motherhood mysteriously materialize. Moral man’s meditations magnify Maiden Mary’s marvelous motherhood. Mans’, matrons’, maidens’ managed mentations mean mentally-manipulated meritorious monogamous
marriages, making mates materially merry, managing maternity modernly. Moreover, man’s managed mentations mean mercantile might, maritime majesty, masterly mechanics, monkish manuscripts, marble mansions, moon maps, martial maneuvers, military marchings, magnificent masquerades, mail movements, mystic materializations, mathematical mazes, Maypole maidens, molded medals, modern medicine, megalithic monuments, musical megaphones, melodramatic monologues, man’s melioration, mellow memories, Mennonite missionaries, merciful mandatories, Messianic masses, metaphysical messages, mighty metaphors, metaphrastic metamorphoses, metallic mercuries, marvelous metropolises, Methodistic morals, monks’ meditations, Mohammedan mosques, miniature minarets, masterful ministers, miraculous mirrors, martial mobilizations, multiplied musicians, marble mosaics, meaningful mottoes. Mendelssohn made manifold music, monkish masses, modulated madrigals, mincing minuets, military marches. Moor mountebanks make money monkey-shining. Melancthon’s managed mentality materialized moral mottoes, manuscripts, mandates, mental manna for mighty monarchs, manifold multitudes. Macbeth’s moral missteps materialized manichean morbidity, malignant moroseness, murderous manifestations, maniacal madness. Merry Maryland’s melody moves men’s, matrons’, maidens’ muscular movements mightily. More meditation might materialize many more m-made mental meanderings.
SOUL SUBLIME
Spirit sees spirit surely. Spirit shuns sensuous symbols, shibboleths, signs, sins. Spirit seeks serenity, sociability, salvation, supreme spiritual standards, splendid sympathy, starlike success. Sin, sensuality, sear, singe, scorch, send suffering, sorrow, sadness. Spirit, soul, soaring supremely, senses slumber soundly Senses sleep, spirit solves. Soul subjects senses securely—sight, sound, smell, space—storing spirit secrets, sweet sounds, soulful sympathy. Spirit sends soul starward seeking spirit’s shoreless, shining seas sublimely serene. Soul survives sense’s subjugation. Soul seeks successful solutions such staggerers as syncopation, syncretism,
syndicalism, symbiosis, symmetricalism, synesthesia, synovitis, syringomyelia, strumæ, stronglyidæ, strobilation, stock swindling, solfatara, solaria, Sivaism, Shintoism, sisymbriums, siphonophora, shunning shilly-shallying, sloppy sentimentality, slippery sneakiness, sulky slovenliness, secret sinfulness, shekel stealing, saucy slandering.
One might write a “Wordy Wabble on Women,” telling how “women wheedle wary woodmen woefully in western, wild Wyoming and Washington. Warring, waspish women wear war-paint wielding willow wands whackingly when weary Willies wantonly waste wages,” and so on. Or he could picture Dauntless Daniel daringly defying Desperate Desmond. A war correspondent might have gained fame a few years ago had he headed his German letter: “Blatant Billy Blusteringly, Belligerently, Bellows Braggingly,” and later he might have told how “British bulldogs beat Billy’s bragging, brutal, bullying battalions; beneficently, benignly, beautifully backing beleaguered Belgium’s bruised, but brave batteries. Billy bemoaned beaten battalions, but Bulldog Britain beamed benignly, bantering Billy’s Brunswick backers, bagging Billy’s belongings, bogging Billy’s boasted bootsteps. Britain’s bulldogs made bragging, boasting Billy bow bendingly before bully belligerents.”
Let not the intellectual student deem this kind of exercise too frivolous. It will be of far greater benefit to him than he is aware, especially if he will read and reread his alliterations, with clear understanding, in accordance with the principles laid down in the earlier part of Chapter I.
Of a different type, but equally useful as exercises in composition, and intelligent and carefully articulated reading, are such compositions as the following. Let the student try to make up something of the kind descriptive of a battle, a rainstorm, an earthquake, etc.