如果形式问题分类不清楚,很容易混淆概念,比如PPT到底是多点字好还是少点字好的问题,如果没有分类的概念,肯定不能讨论出结果,或者得出错误的结论,比如PPT尽量要字少。这个原则对吗?假如是对的,有人就有疑问,拿到一个没有人讲解的PPT,看到的只是精美的画面,对整体意思的理解根本没有帮助,这样的PPT也...
分类:
其他好文 时间:
2014-05-26 23:47:03
阅读次数:
284
1:开闭原则OPC
一个软件实体应当对扩展开放,对修改关闭。再设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。例子: 车类 里有名字 发动机
发动机应当拿出另写一个类2:单一职责原则SRP 就一个类而言,应该仅有一个引起它变化的原因,在构造对象时,应将对象的不同职责分离至多个类中.....
分类:
其他好文 时间:
2014-05-26 22:52:57
阅读次数:
310
俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下。
事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为getData的函数,它接收不同参数,只负责获取数据,然后把数据return。基....
分类:
编程语言 时间:
2014-05-26 20:43:46
阅读次数:
337
这两天在看结构体,一直在琢磨结构体的存储空间分配的问题,琢磨了半天总算明白了。和大家分享一下,希望能有所帮助。相信大家都知道结构体里元素存储要对齐吧,话虽是没错,只是这个“对齐”里面包含了很多微妙的东西。首先详细的给出结构体内存存储空间分配的原则吧:编译器按照成员列表顺序一个接一个地给每个成员分配内...
分类:
编程语言 时间:
2014-05-26 16:37:20
阅读次数:
327
在上一篇的工厂方法模式中,通过一个公用的类对其他具有相同特性(实现相同接口或继承同一父类)的类的对象进行创建。随之带来的问题在于:当新定义了一个具有相同特性的类时,需要修改工厂类。这与设计模式中的开闭原则有些违背。因此,通过抽象工厂模式:创建多个工厂类而不是一个工厂类,一旦需要创建新的类对象,只需增...
分类:
其他好文 时间:
2014-05-26 13:49:47
阅读次数:
218
观察者模式定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
简单定义:让对象能够在状态改变时被通知。
OO原则:
为了交互对象之间的松耦合设计而努力。
以书中的WeatherStation为例:
Subject.java(定义接口)
package headfirst.observer.weather;
pu...
分类:
其他好文 时间:
2014-05-23 01:54:21
阅读次数:
337
Django 1.6 最佳实践: 如何正确使用 CBVs (Class-based views)
Class-based views是Django为解决建站过程中的常见的呈现模式而建立的. 在这节中, 我们着重讲一下CBVs的使用技巧和一般原则.
1. CBVs的使用原则
代码越少越好永远不要重复代码View应当只包含呈现逻辑, 不应包括业务逻辑保持view逻辑清...
分类:
其他好文 时间:
2014-05-22 23:22:14
阅读次数:
299
策略模式定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
简单定义:封装可以互换的行为,并使用委托来决定要使用哪一个。
OO原则:
封装变化
多用组合,少用继续。
针对接口编程,不针对实现编程。
以书中的Duck为例:
Duck.java(抽象类,performFly()与performQuack()函数的实现委托给行为类,行为由子类...
分类:
其他好文 时间:
2014-05-22 23:20:51
阅读次数:
346
抽象工厂模式,提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类。
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色...
分类:
其他好文 时间:
2014-05-22 23:20:13
阅读次数:
222
以下是对《Head First 设计模式》中提到的OO原则和设计模式的总结。
OO原则和设计模式的联系:模式可以让我们建造出具有良好OO设计质量的系统。模式被认为是历经验证的OO设计经验。
OO设计原则:
1.封装变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起;
2.多用组合,少用继承;良好的OO设计必须具备可复用、可扩充、可维护三个特性。
3...
分类:
其他好文 时间:
2014-05-22 17:05:00
阅读次数:
231