《Design Patterns Explained》读书笔记(1)

本文是《Design Patterns Explained》读书笔记的第一部分,重点介绍了封装原则——找出变化的东西并封装它。书中通过动物建模的例子,展示了如何避免紧耦合和过多细节,通过将运动方式对象化来实现更好的封装,以此适应不同动物的运动行为,如走、飞和游。这一设计方法有助于代码的扩展和维护。
摘要由CSDN通过智能技术生成
最初发表在:http://www.farproc.com/Article/ShowArticle.asp?ArticleID=187

找出变化的东西,封装它!
"Find what varies and encapsulate it."

 

最近在学习 Alan Shalloway & James R. Troott Design Patterns Explained (《设计模式解析》),于是随手记下一些东西。

该书在第8 Expanding Our Horizons 中讲“封装(encapsulation)”时提到一个封装的原则是“Find what varies and encapsulate it.(找出变化的东西,封装它)”对我的启发很大。在此前,我对封装的理解也仅仅是“数据隐藏(Data Hiding)”,最多能想到的是“细节隐藏(Details Hiding,这个是我自创的^_^)”,而真正的“封装”是"any kind of hiding(任何形式的隐藏)"!!

If you have ever bought any programming books, you might have noticed that there are two types of them: books that are too short to understand the topic and books that are too long making it inevitable that you get bored. We've tried hard to avoid both of these categories with Design Patterns Explained Simply. This book is fast and simple way to get the idea behind each of the 29 popular design patterns. The book is not tied to any specific programming language and will be good for you as long as you have a basic knowledge of OOP. Most chapters are available on the website, so you can check out the simplicity of the language in the book and the way materials are presented. Why should I read this book? It's simple. It's written in clear and simple language that makes it easy to read and understand. It's short. Yes, there are no useless demos or huge code listings — just clear and easy-to-understand descriptions with many graphical examples. When you finish reading this book, you'll have good reason to go to your boss and ask him for apromotion. Why? Because using design patterns will allow you to get your tasks done twice as fast, to write better code and to create efficient and reliable software architecture. How do I become a programming ninja? The main difference between a ninja and a novice is the knowledge of secret coding tricks, as well as the awareness of most pitfalls and the ability to avoid them. Design patterns were created as a bible for avoiding problems related to software design. Doesn’t that make it a true ninja’s handbook? Table of Contents Creational patterns Abstract Factory Builder Factory Method Object Pool Prototype Singleton Structural patterns Adapter Bridge Composite Decorator Facade Flyweight Private Class Data Proxy Behavioral patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Null Object Observer State Strategy Template Method Visitor
设计模式是一种解决常见问题的重复使用的方法。它们是在软件开发中创建可复用代码的指导方针。 设计模式有三个主要组成部分:模式名称、问题与解决方案的说明和实现该模式的示例代码。 模式名称是一个简短的描述,它简洁地概括了该模式的作用和用途。这有助于开发人员更好地理解和记忆该模式。 问题与解决方案的说明是设计模式的核心。它描述了一种常见问题的情况,并提供了一种有益的解决方案。通过遵循这种解决方案,开发人员可以更轻松地应对相似的问题。 示例代码是一种实现特定设计模式的具体代码。它向开发人员展示了如何在具体情况下应用该模式。 设计模式可以分为三类:创建型、结构型和行为型。 创建型设计模式涉及到对象的创建,帮助我们在创建对象时更加灵活和可扩展。包括工厂模式、单例模式和原型模式等。 结构型设计模式关注的是对象之间的关系,以及如何构建更大的结构。例如适配器模式、装饰器模式和代理模式等。 行为型设计模式描述了对象之间的通信和相互作用方式。这些模式能够帮助我们改善代码的灵活性和可维护性。包括策略模式、观察者模式和命令模式等。 总而言之,设计模式是软件开发中一种常用的方法,它以简洁明了的方式描述了常见问题的解决方案,并提供了示例代码以帮助开发人员更好地理解和应用这些解决方案。设计模式可以使代码更具可读性、可维护性和可扩展性,从而提高软件开发的效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值