# design-patterns-stuty **Repository Path**: wywteach/design-patterns-stuty ## Basic Information - **Project Name**: design-patterns-stuty - **Description**: 设计模式学习 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 优秀设计的特征 ### 复用性 > 代码复用是减少开发成本时最常用的方式之一。其意图非常 明显:与其反复从头开发,不如在新对象中重用已有代码 始人之一的埃里希·伽玛1,在谈到代码复用中设计模式的角 色时说 ```text 我觉得复用有三个层次。 在最底层, 你可以复用类: 类库、 容器,也许还有一些类的“团体(例如容器和迭代器)”。 框架位于最高层。 它们确实能帮助你精简自己的设计, 可 以用于明确解决问题所需的抽象概念, 然后用类来表示这 些概念并定义其关系。 例如, JUnit 是一个小型框架, 也是 框架的“Hello, world”, 其中定义了 Test 、 TestCase 和 TestSuite 这几个类及其关系。 框架通常比单个类的颗粒度要大。 你可以通过在某处构建子 类来与框架建立联系。这些子类信奉“别给我们打电话,我 们会给你打电话的。”这句所谓的好莱坞原则。框架让你可以 自定义行为, 并会在需要完成工作时告知你。 这和 JUnit 一 样,对吧?当它希望执行测试时就会告诉你,但其他的一切 都仅会在框架中发生。 还有一个中间层次。这也是我认识中的模式所处位置。设计 模式比框架更小且更抽象。 它们实际上是对一组类的关系及 其互动方式的描述。当你从类转向模式,并最终到达框架的 过程中,复用程度会不断增加。 中间层次的优点在于模式提供的复用方式要比框架的风险小。 创建框架是一项投入重大且风险很高的工作。 模式则让你能 独立于具体代码来复用设计思想和理念。 ``` 框架是接口,而我们使用框架就是实现那些接口来更好的完成自己的业务。 ### 扩展性 >变化是程序员生命中唯一不变的事情。 > ## 设计模式 开始设计的想法 >找到程序中的变化内容并将其与不变的内容区分开。