关于几种常见的复用可维护设计模式

设计模式原则

SOILD
SRP:单一职责
OCP:开闭原则
ISP:接口隔离原则
LSP:历史替换原则
DIP:依赖倒置原则

不同设计模式大致实现:

工厂模式
interface Afactory
{
public A factory();
}
class concreteAfactory
{
public A factory()
{
return new A1();
}
}
class concreteAfactory
{
public A factory()
{
return new A2();
}
}

抽象工厂模式
代理模式
interface A
{
public void XXX();
}
class realA1 implements A
{
public void XXX()
{
}
}
class ProxyA2 implements A
{
private realA1 r;
public void XXX()
{
r.void();
}
}
观察者模式
interface observer
{
public void update();
}
interface subject
{
public void attach(Observer a);
public void detach();
public void notify();
public void setstate();
public State getstate();
}
class conobserver implements observer
{
private Subject subject;
private State state;
conobserver(Subject subject)
{
this.subject = subject;
subject.attch(this);
}
public void update()
{
this.state = subject.getstate();
}
{
}
class consubject implements subject
{
private List l = new ArrayList();
public void attach(Observer a)
{
l.add(a);
}
public void detach(Observer a)
{
l.remove(a);
}
public void notify()
{
for(Observer a:l)
{
a.update();
}
}
public void setstate(State state)
{
this.state = state;
}
public State getstate()
{
return this.state;
}
}
访问者模式
class element
{
public int accept(Visitor v)
{
return v.visit(this);
}
}
interface Visitor
{
public int visit(element a);
}
class conVisitor implements Visitor
{

public int visit(element a)
{
a.xxx()
xxxx
return xxxx;
}

}
状态模式
interface State
{
public State move(String string);
}
class fuck implements State
{
public State move(String string)
{
return new pregnant();
}
}
class ADT
{
private State s;
public void move(String string)
{
s = s.move(string);
}
public boolean accpect()
{
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值