Is Encapsulating All RPC Interface Inputs and Outputs into Classes a Sound Design?
Problem StatementRegarding the inputs and outputs of RPC interfaces, there has long been a school of thought that advocates wrapping all inputs and outputs into individual request and response classes. In this article, we will analyze whether this approach constitutes a sound design. Input Parameter Encapsulation AnalysisLet’s start with inputs. I’ll state the conclusion first: encapsulation should only be done when there are excessive input parameters. In all other cases, there is absolutely...
The Value of Business Development for Programmers
Let me share my personal experience. At my first company right after graduation, I was actually doing infrastructure middleware development. But during that work, I realized I didn’t enjoy the feeling of being so far removed from real business. So when I later changed jobs, I deliberately chose a business-oriented department. Today, I want to explain why I made this choice. Why I Don’t Do Infrastructure DevelopmentFirst, I want to address a common misconception: that infrastructure developm...
What Exactly Are Design Patterns? A Deep Dive into Their Principles
Hello everyone, I’m Liusha. Design patterns are something every programmer encounters frequently, but I believe many people still have questions about what design patterns really are. So today, let’s talk about this — the main goal is to help you understand the purpose of design patterns and the right mindset for approaching them. PrerequisitesWhen we mention design patterns, the first thing to understand clearly is object-oriented thinking. I believe that even if you can’t describe it very...
My Tips for Improving Development Efficiency
Hi everyone, I’m Liusha, a programmer with nearly six years of work experience. My career has spanned companies with very different cultures and atmospheres. I’ve collaborated with many different types of people and observed numerous inefficiencies. At the same time, I’ve always felt that my own development efficiency is quite high. Throughout my career, I’ve rarely had to handle work tasks outside of my eight-hour workday. Even when forced to work overtime due to company policy, I was usuall...
Reducing Software Development Complexity Through Proper Design
For a programmer, the word most often mentioned in daily work is probably “complex” — this code is too complex, this logic is too complex. So, in this article, let’s take a thorough look at where “complexity” actually comes from and how to avoid it. The Origins of ComplexityLet’s first list what we’re actually talking about when we say something is “complex”: No module division, just a massive blob of code sitting there Large amounts of duplicate code The overall logic of the code is incom...
Information Attenuation During Transmission
What Is Information AttenuationSeeing this title, you might think this is going to be about information science. It’s actually not — I just recently observed some things and felt compelled to share my thoughts. I happened to come across two statements online where I happened to be quite familiar with the facts, so I感慨ed that second-hand information is truly unreliable. Real-World CasesThe first case involves a primary school called Sanfan Affiliated Primary School in the Desheng district of...
House Hunting Notes — 2020 Beijing School District
I started looking at houses around the National Day holiday this year, and made a decision by early last month. I didn’t expect to settle so quickly — I’d say destiny just had its way. Looking back at the experience, I feel it’s worth documenting, as it’s one of the biggest decisions in life. Background and RequirementsActually, I had been thinking about buying school district housing since the beginning of the year when my child was born. However, my current property wouldn’t reach the fiv...
Book Reflections: Civilization, Modernization, Value Investing, and China
“Civilization, Modernization, Value Investing, and China” is a book by the renowned value investor Mr. Lu Li. It discusses the development of civilization, the emergence of modernization, and value investing, and explores these topics in the context of China’s actual situation. I personally feel this is an extremely valuable book worth reading repeatedly. It is of great help in understanding the logic of how this world operates and in building correct investment philosophy. As the title sug...
Book Notes: I Walked on the Edge of Breakdown
The book I’m discussing today, “I Walked on the Edge of Breakdown: Yu Minhong’s Personal Account of New Oriental’s Entrepreneurial Development,” is an autobiographical work by Mr. Yu Minhong, recounting his many experiences and psychological journey since founding New Oriental. Today, I’ll summarize the content of this book and share my personal reflections. The book begins before Yu Minhong founded New Oriental. Yu Minhong was originally a teacher at Peking University, and he left the univ...
[Translation] [On Distributed Architecture and System Design] Patterns of Distributed Systems - Overview
(I recently reorganized this article. Welcome to read the latest version: https://lichuanyang.top/posts/45718/) This article is translated from https://martinfowler.com/articles/patterns-of-distributed-systems/. The original author summarizes various distributed systems used in enterprise architectures, extracting common “patterns.” As the first article in this series, it introduces the characteristics of distributed systems and some common issues. I highly recommend reading this article and ...









![[Translation] [On Distributed Architecture and System Design] Patterns of Distributed Systems - Overview](/en/img/3914.jpg)



