封装变化

简介:

“生生之谓易”。市场环境时刻在变,业务需求也在变。
业务需求变化,要求系统必须做出相应变化;但是系统的变化,又不能影响业务的开展。换句话说,在系统面前,业务的变化都是正常的;在业务面前,系统却必须保持一定的一贯性、稳定性。

这里记录一些从变化和稳定这对矛盾的角度,来理解面向对象编程和设计模式的一些笔记。

面向对象编程么,抽象,封装,继承。

其实抽象所做的,就是最直接的把变化和稳定“一分为二”。在抽象之外,系统“盈虚者如彼,而卒莫消长也”;在抽象之内,则“天地曾不能以一瞬”。这样,抽象内怎么变化,抽象外也感觉不到——这是最理想的情况了。

封装大概可以理解为抽象的一种实现方法:对外提供的是稳定的抽象接口;内部封装的是变化的具体实现。这样,变化就被圈在了一个小范围内。这个范围之外,仍然是稳定的。

继承则可以理解为封装的一种实现方法,或者说特殊情况:稳定的接口,包括一些稳定的实现,由父类实现;变化的部分,交给子类。这样,子类可以千变万化,父类始终稳如泰山。

一些设计原则,比如“开闭”,“单一职责”,也有共通之处;而设计模式么,在这方面走得更远了一些。以后再仔细想吧。




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/800451,如需转载请自行联系原作者

相关文章
|
11月前
|
设计模式 算法
代码小变化带来的大不同
代码小变化带来的大不同
44 0
|
12月前
|
存储 JSON 前端开发
Android数据库存储模块封装,让操作记录更好用可复用
Android数据库存储模块封装,让操作记录更好用可复用
|
设计模式 前端开发 Java
职责驱动设计以及状态模式的变化
职责驱动设计以及状态模式的变化
职责驱动设计以及状态模式的变化
|
前端开发
前端工作小结13-第一次组件封装
前端工作小结13-第一次组件封装
61 0
|
前端开发
前端工作小结7-封装组件
前端工作小结7-封装组件
93 0
|
前端开发
前端工作小结77-新的封装组件
前端工作小结77-新的封装组件
67 0
前端工作小结77-新的封装组件
重复动作要封装,封装前找大家的共同特性或者说共同需求(例如都实现某个接口,都实现该接口的某个方法),然后利用这个共同特性封装起来
重复动作要封装,封装前找大家的共同特性或者说共同需求(例如都实现某个接口,都实现该接口的某个方法),然后利用这个共同特性封装起来
108 0
|
存储 负载均衡 Oracle
面向(过程、对象、组件、服务)编程
面向(过程、对象、组件、服务)编程
258 0
|
JavaScript 前端开发 设计模式
【JavaScript框架封装】数据类型检测模块功能封装
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/80984381 数据类型检测封装后的最终模块代码如下: /*数据类型检验*/ xframe.extend(xframe, { // 鸭子类型(duck typing)如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭子。
1044 0
|
算法 搜索推荐 数据库

热门文章

最新文章