面向对象对象开发,”抽象“,”封装变化“经常被提及,
还有两个相关联的词也是经常在各种场合出现:“解耦”、“关注点分离”【SOC:Separation Of Concerns】
无论是“抽象”、“封装变化”,还是“解耦”、“关注点分离”,都带来一个很明显的好处:灵活。
首先,我也认同,这几个概念、原则对编程、维护、模块化带来的好处。
但是,我对“灵活”,有另一种理解。
“灵活”在某种程度上,就意味着“复杂”
太灵活的东西,肯定是越复杂,越需要花费更多的时间、精力去理解它。
我个人对这种过于纯粹的东西报以怀疑,实际工作中很多时候这种纯粹的逻辑分离很难实现。
MVC框架:
当一个长期维护的项目,不断增加显示逻辑之后,为了保持View层的这种强制的干净,而在 Action层增加大量处理逻辑,我不觉得维护性会好(也许我理解错了,毕竟没有长期使用过)。
就像前些年Java流行XML配置文件,分离了逻辑,后来又产生了Annotation消灭XML配置文件。
无论分离还是聚合,逻辑是无法消灭的,总是要有一个地方放。
所以到底是多写一些代码来保证View 层看上去很美,还是把显示逻辑全写到View层,
谁又能真正说清楚哪个更好。
总之,还是那句老话,不能为了分离而分离,为了解耦而解耦。
过早优化是万恶之源。
一开始,尽量用简单的方式实现,不要考虑过多细节。除非在前期100%确定是需要被优化,被分离的。
一切伟大的代码,都是在发展中不断演变、不断重构出来的。
分享到:
相关推荐
基于matlab的解耦控制simulink仿真
前后端分离架构:Web实现前后端分离,前后端解耦
本程序用于解耦控制的控制器设计以及函数计算
1 绪 论 1 1.1 本课题的研究意义及必要性 1 1.2 多变量耦合系统的发展历程 1 ...4.4 对角矩阵解耦控制的仿真 13 4.5 单位矩阵解耦控制的仿真 15 5 仿真结果分析 17 结 束 语 18 致 谢 19 参考文献 20
对于MIMO系统进行PID解耦控制,并利用响应信号观察解耦效果。
对感应电动机的解耦控制及矢量控制的解耦性质进行了研究.从感应电动机变频调速系统 的非线性模型出发,分别利用非线性控制的状态反馈线性化方法和转子磁场定向方法对系统进行 了讨论.研究结果表明,感应电动机的矢量...
前馈补偿解耦法设计一已知的两输入、两输出有耦合被控对象的解耦控制系统,并完成它的混合仿真,对无耦合系统、有耦合而未解耦系统以及有耦合且采用解耦控制系统的控制作比较研究
用simulink搭建的解耦前馈控制仿真系统
大型火电单元机组被控对像是强耦合,一般的解耦方式是不适合单元机组的模型变化,所以要用具有自适应的解耦方式,这个神经网络就是这种解耦方式, 这个程序是用神经网络进行解耦的。用的是BP网络
计算机解耦控制系统,讲述当控制量之间有耦合时,我们该怎么进行解耦
pq解耦法,matalb程序
个性业务数据访问垂直拆分,共性数据访问服务化下沉,只是一个很小的优化点,但对于数据库解耦却是非常的有效。
此代码只为显示spring的思想怎么产生,为什么要解耦,解耦到底是哪好?
MQ能够做到上下游物理上和逻辑上都解耦:...• 逻辑上解耦,事件发布方甚至不用知道哪些下游订阅了这个消息,新增消息的订阅方只需要连接MQ就行了,不需要上游关注 MQ是一个非常常见的物理上解耦、逻辑上也解耦的利器。
神经网络解耦程序,了来了来了了来了来了了
电机双闭环控制最全动态解耦论文,是我看过讲动态解耦最详细的文章,完全能够解决电机控制中dq轴电流耦合的问题。
博士丛书-非线性系统控制系统及解耦,PDF版本。
这个是matlab解耦控制,内涵多个simulink程序,可以稳定运行
它们只支持单一的继承,或者多级继承,这一变化最大的影响,我觉得是大大的降低了编程的难度,因为没有了C++的多级多脉继承,所以接口出现了,它支持多重继承,当然它的主要目的是为了实现解耦,将定义与实现分离。...
在这项工作中,我们实施了最小几何变形解耦方法,以从最普通的各向同性溶液中,在包括宇宙常数$$ \ varLambda $$Λ的$$ 2 + 1 $$ 2 + 1维中,获得BTZ真空的常规静态内部溶液。 我们得到一般解只能通过原始各向同性...