首页
移动开发
物联网
服务端
编程语言
企业开发
数据库
业界资讯
其他
搜索
【设计模式】7种常用的面向对象设计
其他
2018-09-26 05:41:57
阅读次数: 0
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/as15932641664/article/details/81866899
如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题,也是用于评价一个设计模式的使用效果的重要指标之一
设计模式到底有什么用?简单来说,设计模式至少有如下几个用途:
(1) 设计模式来源众多专家的经验和智慧,它们是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将可以让我们避免做一些重复性的工作,也许我们冥思苦想得到的一个“自以为很了不起”的设计方案其实就是某一个设计模式。在时间就是金钱的今天,设计模式无疑会为有助于我们提高开发和设计效率,但它不保证一定会提高,
。
(2) 设计模式提供了一套通用的设计词汇和一种通用的形式来方便开发人员之间沟通和交流,使得设计方案更加通俗易懂。交流通常很耗时,任何有助于提高交流效率的东西都可以为我们节省不少时间。无论你使用哪种编程语言,做什么类型的项目,甚至你处于一个国际化的开发团队,当面对同一个设计模式时,你和别人的理解并无二异,因为设计模式是跨语言、跨平台、跨应用、跨国界的,
。
(3) 大部分设计模式都兼顾了系统的可重用性和可扩展性,这使得我们可以更好地重用一些已有的设计方案、功能模块甚至一个完整的软件系统,避免我们经常做一些重复的设计、编写一些重复的代码。此外,随着软件规模的日益增大,软件寿命的日益变长,系统的可维护性和可扩展性也越来越重要,许多设计模式将有助于提高系统的灵活性和可扩展性,让我们在不修改或者少修改现有系统的基础上增加、删除或者替换功能模块。如果一点设计模式都不懂,我想要做到这一点恐怕还是很困难的,
。
(4) 合理使用设计模式并对设计模式的使用情况进行文档化,将有助于别人更快地理解系统。如果某一天因为升职或跳槽等原因,别人接手了你的项目,只要他也懂设计模式,我想他应该能够很快理解你的设计思路和实现方案,让你升职无后患之忧,跳槽也心安理得,何乐而不为呢?
。
(5) 最后一点对初学者很重要,学习设计模式将有助于初学者更加深入地理解面向对象思想,让你知道:如何将代码分散在几个不同的类中?为什么要有“接口”?何谓针对抽象编程?何时不应该使用继承?如果不修改源代码增加新功能?同时还让你能够更好地阅读和理解现有类库(如JDK)与其他系统中的源代码,让你早点脱离面向对象编程的“菜鸟期”。
下面是设计模式的7种常用原则:
猜你喜欢
转载自
blog.csdn.net/as15932641664/article/details/81866899
【设计模式】7种常用的面向对象设计
7种常用的面向对象设计原则
面向对象的23种设计模式
java设计模式:面向对象设计的7个原则
面向对象的设计原则(设计模式中的7板斧)
面向对象和面向对象设计原则和23种设计模式
设计模式与面向对象
面向对象设计模式
面向对象-----设计模式
面向对象的设计模式
面向对象的33种设计模式总结
JavaScript面向对象编程的15种设计模式
13-Python面向对象-常用设计模式
7个常用的面向对象设计原则
面向对象设计原则与设计模式
设计模式-面向对象设计原则
面向对象-设计原则与设计模式
设计模式——<面向对象设计原则>
uml 面向对象设计 设计模式
设计模式--面向对象设计原则
设计模式——面向对象的设计原则
设计模式—面向对象设计原则
面向对象设计-设计模式
面向对象的设计模式 ——复制模式
面向对象的设计模式 ——外观模式
面向对象的设计模式 ——工厂模式
面向对象的设计模式 ——装饰模式
面向对象的设计模式 ——策略模式
面向对象(设计模式)的六种设计原则和一种法则
面向对象23种设计模式系列(三)- 行为型设计模式
今日推荐
周排行
8种防盗链的方法
php的序列化和反序列化
Java 8:CompletableFuture
Android版本差异适配方案(5.0-9.0)
makedownpad使用
Spring Boot 使用AOP切面实现后台日志管理模块
实战SSM_O2O商铺_44【DES加密】 关键配置信息进行DES加密
ACM排行榜说明
【转】SQL重复记录查询
板球和秃子威力那个大
每日归档
更多
2024-09-15(0)
2024-09-14(0)
2024-09-13(0)
2024-09-12(0)
2024-09-11(0)
2024-09-10(0)
2024-09-09(0)
2024-09-08(0)
2024-09-07(0)
2024-09-06(0)