`
linsea
  • 浏览: 87613 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
组合模式(Composite pattern)定义: 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合. 使用组合结构,我们能把相同的操作应用在组合和个别对象上. 换句话说,在大多数情况下,我们可以忽略对象组合和个别对象之间的差别.
迭代器模式 定义:提供一种顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露其内部的表示. 把游走的任务放在迭代器上,而不是聚合上.这样简化了聚合的接口和实现, 也让责任各得其所. OO原则:一个类应该只有一个引起变化的原因. 此原则告诉我们,尽量让每个类保持单一责任. 类的每个责任都有改变的潜在区域.超过一个责任,意味着超过一个改变的区域. 内聚(cohesion): 它用来度量一个类或模块紧密地达到单一目的或责任. 当一个模块或一个类被设计成只支持一组相关的功能时,我们说它具有高内聚; 反之,当被设计成支持一组不相关的功能 ...
package desginpattern.adapter.ducks; /* * 适配器模式定义: * 将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. * * NOTES: * 适配器有两种:对象适配器和类适配器,分别使用组合和继承两种方式实现, * 类适配器须同时继承被适配者(adaptee)和目标类(target). * 此方式只适合于支持多重继承的语言,JAVA并不被支持. * * 此类为适配器模式核心类,需要实现被适配者的接口. * 火鸡(适配者)要装鸭子(被适配者)当然要会鸭子的方法. */ pu ...
* 外观模式定义: * 它提供一个统一的接口,用来访问子系统中的一群接口. * 外观定义了一个高层接口,让子系统更容易使用. * * OO原则:"最少知识(Least Knowledge)"原则 * 即我们要减少对象之间的交互,只留下几个"密友". * 只和你的密友谈话. * * 如何不要赢得太多的朋友和影响太多的对象? * 此原则提供的方针: * 就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方法: * 1.该对象本身 * 2.被当做方法的参数而传递进来的对象 * 3.此方法所创建或实例化的任何对象 * 4. ...
命令模式:将"请求"封闭成对象,以便使用不同的请求,队列或者日志来参数化其他对象. 命令模式也支持可撤销的损伤. 1.命令模式将发出请求的对象和执行请求的对象解耦. 2.在被解耦的两者之间是通过命令对象进行沟通的.命令对象封装了接收者和一个或一组动作. 3.调用者通过调用命令对象的execute()发出请求,这会使得接收者的动作被调用. 4.调用者可以接受命令当做参数,甚至在运行时动态地进行. 5.命令可以支持撤销,做法是实现一个undo()方法来回到execute()被执行前的状态. 6.宏命令是命令的一种简单的延伸,允许调用多个命令.宏方法也可以支持撤销. ...
strategy pattern 原则:针对接口编程,而非实现编程!!! public abstract class Duck { FlyBehavior flyBehavior; QuackBehavior quackBehavior; public Duck() { } abstract void display(); public void performFly() { flyBehavior.fly(); } public void performQuack() { quackBehavior.quack(); } ...
public interface Subject { public void registerObserver(Observer o); public void removeObserver(Observer o); public void notifyObservers(); } public interface Observer { public void update(float temp, float humidity, float pressure); } public interface DisplayElement { public void ...
Template Method 模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现. 它是一个骨架,在框架的设计中多用此设计模式. 对模板方法进行挂钩: 钩子是一种被声明在抽象类中的方法,但只有空的或者默认的实现.钩子的存在, 可以让子灰有能力对算法的不同点进行挂钩.要不要挂钩,由子类自行决定. 好莱坞原则: 高层组件对低层组件的方式是"别调用我们,我们会调用你". public abstract class CaffeineBeverage { //不希望子类覆盖此方法,声明为final final void prepareRecipe() ...
public class Singleton { private static Singleton UniqueInstance; private Singleton(){} public static Singleton getInstance(){ if(UniqueInstance == null) UniqueInstance = new Singleton(); return UniqueInstance; } } * Notes: * 多线程的处理注意点: * 1.可在getInstance()方法前加上synchroni ...
isAlive(),join()的使用 isAlive()方法在Thread中定义:final bollean isAlive() , 所以只能在Thread类的实例或其子类中调用. 一个更经常使用的方法是调用join()方法来等待另一个线程的结束.它的定义如下: final void join() throws InterruptedException 这个方法一直等待,直到它调用的线程终止. package mythread; class NewThread implements Runnable { String name; // name of thread Threa ...
启动监听器:lsnrctl start [linstener_name];   启动EM:emctl start dbconsole 启动isqlplus:isqlplusctl start   查看所连接的数据库的实例名:(需DBA权限)show parameter instance 或 SELECT host_name, instance_name, version FROM v$instance     查询某用户下有哪些自定的表和视图: select * from tab;或 select   object_name  from   dba_obje ...
Oracle数据导入导出imp/exp 参考:http://www.cnblogs.com/tohen/articles/1083323.html在命令提示符下执行exp   help=y   和imp   help=y 可以查看更详细的帮助文档. 任务要求:导出SCC数据库下的用户LIN下的三张表:lin.course,lin.sc,lin.student C:\Documents and Settings\Administrator>exp sys/sys@SCC file=d:\scclin.course,lin.sc,lin.student) Export: Release 9.2 ...
今天因为局域网ARP病毒攻击,写了个BAT批处理文件就两行:ARP -DARP -S GatewayIP GatewayMAC保存文件为ARP.BAT双击运行,结果一直就不停地执行第一个命令,不停刷屏. 最后查出问题出来:不能保存文件名为ARP.BAT改个文件名ARPKILL.BAT,一切OK! 总结:文件最好不能命令为命令关键字,特别是可执行文件.

开通Blog !

记录我的学习心得体会. 也想有个地方存放资料. 开通我的博客!
Global site tag (gtag.js) - Google Analytics