https://refactoring.guru/smells/feature-envy https://stackoverflow.com/questions/1242994/effective-c-sharp-tips Inversion of control   <= https://en.wikipedia.org/wiki/Inversion_of_control <= https://en.wikipedia.org/wiki/Template_method_pattern 如何创…
Design Principle vs Design Pattern设计原则 vs 设计模式 来源:https://www.tutorialsteacher.com/articles/difference-between-design-principle-and-design-pattern In software engineering, design principle and design pattern are not the same.在软件工程中,设计原则和设计模式是不同的. Des…
Design Principle设计原则 最近由于碰到要参与设计一个音频处理系统,有人提议用一个大的全局变量结构体来做状态信息交流的地方,引起了我对设计一个系统的思考,于是找到了如下资料,当然,关于这个系统也是有待验证,不能说全局变量就是不好,因为这个系统并不会并发执行,而且资源充足. 我反正有点疑虑,但是会继续验证. 以下为Gof的六大设计原则,出自<设计模式>. Single Responsibility Principle -SRP There should never be more…
博客 design principle:模拟 android Button 控件点击事件 主要说了一下模拟 android 的 Listener 模式,其实这就是一种委派与回调机制的体现. 委派,也可以叫做委托,从字面上来理解的话,应该是委托其他类做事情而自己不做或者只做一部分工作:而回调,就是调用自己的方法. 在 java 中,这两种机制很类似,你姑且可以认为它们就是一码事. 推荐一篇博文给大家: Java中委托事件模型 java 中,实现委派和回调都是通过接口来实现的.下面举个小例子吧! 该…
Single Responsibility Principle 类的设计趋向于:Use Case Diagram --> (derived) --> Detail Open-Closed Principle /* Software entities should be open for extension, but closed for modification */ 反面例子:Dependency: 作为参数,作为局部变量,调用静态方法. 改进方式:增加抽象类或者接口,以及set方法. Li…
原文地址:面向对象设计模式原则详解 http://blog.csdn.net/hguisu/article/details/7571617 程序员必备的七大面向对象设计原则(一) http://www.cnblogs.com/hnrainll/archive/2012/06/03/2532551.html 程序员必备的七大面向对象设计原则(二) http://www.cnblogs.com/hnrainll/archive/2012/06/03/2532553.html 程序员必备的七大面向对象…
Ref: 软件设计的七大原则 有时间的话,还需进一步深入理解. Figure, 重要的前五个原则 单一职责原则 (Simple responsibility pinciple SRP) 类的设计趋向于:Use Case Diagram --> (derived) --> Detail 就一个类而言,应该仅有一个引起它变化的原因,如果你能想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责.应该把多于的指责分离出去,分别再创建一些类来完成每一个职责. 开-闭原则 (Open-Close…
本文由@呆代待殆原创,转载请注明出处. 写在前面:所谓设计原则并不是一定要遵守的法则,只是一种建议,因为保持这些原则本身会有一定代价,若是这些代价超过了带来的好处就得不偿失了,所以一切还是以简单为准. 原则一:分离变与不变的部分. 定义:找出代码中会发生变化的部分,并将其和保持不变的部分分离. 作用:提升可维护性.将会变化的部分分离后,在以后的修改过程中就不会影响到其他不变的部分. 原则二:面向接口编程. 定义:面向接口编程,而不是面向某个实现. 作用:降低耦合.这里的接口有多个含义,并不仅仅只…
第1章 设计之命题 1.设计首先诞生于脑海里,再慢慢逐步成形(实现) 2.好的设计具有概念完整性:统一.经济.清晰.优雅.利落.漂亮... 第2章 工程师怎样进行设计思维——理性模型 1.有序模型的有序过程,也是工程师的构思过程 2.理性模型太过简化与理想化 第3章 理性模型有哪些缺陷 1.设计最难的部分在于决定要设计什么,或者帮助用户找出他们想要什么 2.理性模型是自然的思维模型(理性主义,即相信人是理性的) 3.对有缺陷的模型的盲从很危险 第4章 需求.罪念以及合同 1.委员会式的,野心勃勃…
BookNote: Refactoring - Improving the Design of Existing Code From "Refactoring - Improving the Design of Existing Code" by Martin Flower. BookNote: Refactoring - Improving the Design of Existing Code Duplicated Code Long Method Large Class Long…