软件设计原则和设计模式简介—— 扯淡篇

最近在设计一个新的平台(原来的平台代码都是一坨一坨的,每添加一个功能点,都会引出一堆的问题,恨不得在一个类里面讲所有功能实现,从不考虑代码的可读性,可维护性,可扩展性。)现在想要设计一个可扩展的在线平台,因此不得不拾起设计原则与设计模式这些东西,在此做一些记录,并且会使用项目中的案例或者优秀开源项目中的案例。

关于设计原则和设计模式,我想很多软件开发者都多少的了解一点,但是又了解的不是那么深入,看完就懂,过段时间就忘。它看起来是有用的,但是很多时候又觉得没什么用。据我所知道的大多数项目都是一次性开发,就是上线没问题这个项目就完结了不需要扩展和二次开发,因此开发人员怎么快速实现一个功能就怎么写代码,不需要考虑代码可读性与可扩展性等问题。但是对于一个产品或者一个优秀的框架来说,这些是必须需要考虑的。不然就是一个一次性的毫无二开功能的产品,要不然就是每扩展一个功能都会引起一堆的问题。

设计原则和设计模式的理论网上一大堆,这里复制百度百科的一些概念好了。软件设计原则是为了设计的软件能够拥有可靠性,健壮性,可修改性,容易理解,可扩展性,安全性等特性所总结的一套基本原则。在一个系统中这个设计原则可以使用多个并且重复使用。项目中常用的设计原则有一下七种:开闭原则,职责单一原则,接口隔离原则,依赖倒置原则,迪米特原则,合成复用原则,里氏替换原则。

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。说白了就是程序员经过不知道多少行代码的经验总结出来的经验,用这些模式写代码,可以让你的代码显得更牛逼。经过总结,一共总结了常用的23种设计模式,包括创建型模式:单例(Singleton)模式,原型(Prototype)模式,工厂方法(Factory Method)模式,抽象工厂(AbstractFactory)模式,建造者(Builder)模式;结构型模式:代理(Proxy)模式,适配器(Adapter)模式,桥接(Bridge)模式,装饰(Decorator)模式,外观(Facade)模式,享元(Flyweight)模式,组合(Composite)模式;行为型模式:模板方法(TemplateMethod)模式,策略(Strategy)模式,命令(Command)模式,职责链(Chain of Responsibility)模式,状态(State)模式,观察者(Observer)模式,中介者(Mediator)模式,迭代器(Iterator)模式:访问者(Visitor)模式,备忘录(Memento)模式,解释器(Interpreter)模式

其实设计模式一直是开发人员感兴趣的东西(虽然很多时候用不到,但是面试要问,我能怎么办,我也很绝望啊),并且网上也有很多的博客讲设计模式(千篇一律?写一下设计模式的概念,画一个类图,举一个例子,完事。)所以我希望能写一点不一样的东西,当然这里说的不一样不是不写概念,不画类图,不举例子,而是尽可能使用实际应用中的例子,或者优秀开源软件中的例子(Spring,MyBatis)等。从实践中来,到实践中去。

最近写的博客比较杂,主要是总结一下以前做的笔记,对常用框架进行下深入源码理解,所以这个写一点,那个写一点,比较高大尚的说法就是笔记本地云迁移。手动滑稽!

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值