当前位置: 首页 > news >正文

前端网站开发心得体会青岛室内设计公司排名

前端网站开发心得体会,青岛室内设计公司排名,做网站跟app,wordpress邮件key一、设计原则 1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2、针对接口编程,而不是针对实现编程。 3、多用组合,少用继承。 4、为交互对象之间的松耦合设计而努力 5、开放-关闭原则…

一、设计原则

1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。

2、针对接口编程,而不是针对实现编程。

3、多用组合,少用继承。

4、为交互对象之间的松耦合设计而努力

5、开放-关闭原则:类应该对扩展开放,对修改关闭

二、设计模式

1、策略模式

定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

实例:模拟鸭子

最初采用OO技术,设计一个鸭子的超类,并让各种鸭子继承此超类,后采用继承,因为鸭子的行为在子类里不断的改变,并且让所有的子类都有这些行为是不恰当的,用接口一开始好像挺不错,但接口不具有实现代码,所以继承接口无法达到代码的复用。

采用策略模式设计该功能,代码如下:

 

 

/**

 * 

 *设计一个飞行行为接口,所有飞行行为类必须实现的方法

 *

 */

public interface FlyBehavior {

 

public void fly();

}

 

/**

 * 

 * 飞行行为的实现,给会飞的鸭子使用

 *

 */

public class FlyWithWings implements FlyBehavior{

 

@Override

public void fly() {

System.out.println("i am flying!!!");

}

 

}

 

 

/**

 * 

 * 飞行行为的实现,给不会飞的鸭子使用

 *

 */

public class FlyNoway implements FlyBehavior{

 

@Override

public void fly() {

System.out.println("i cannot fly!!");

}

 

}

 

 

/**

 * 

 *设计一个叫声行为接口,所有叫行为类必须实现的方法

 *

 */

public interface QuackBehavior {

 

public void quack();

}

/**

 * 

 * 给呱呱叫的鸭子使用

 *

 */

public class Quack implements QuackBehavior{

 

 

@Override

public void quack() {

System.out.println("呱呱呱。。。");

}

 

}

/**

 * 

 * 给吱吱叫的鸭子使用

 *

 */

public class MuteQuack implements QuackBehavior{

 

 

@Override

public void quack() {

System.out.println("吱吱吱。。。");

}

 

}

/**

 * 

 * 给不会叫的鸭子使用

 *

 */

public class Squeak implements QuackBehavior{

 

 

@Override

public void quack() {

System.out.println("不会叫。。。");

}

 

}

 

 

/**

 * 

 * 鸭子父类

 *

 */

public abstract class Duck {

//为行为接口类型声明两个引用变量,所有鸭子类都继承他们

//飞行行为类

FlyBehavior flyBehavior;

//叫声行为类

QuackBehavior quackBehavior;

 

public abstract void display();

 

//委托给行为类

public void performFly(){

flyBehavior.fly();

}

//委托给行为类

public void performQuack(){

quackBehavior.quack();

}

 

public void swim(){

System.out.println("i can swimming!!!");

}

}

/**

 * 

 * 绿头鸭子类

 *

 */

public class MallardDuck extends Duck{

 

public MallardDuck(){

//绿头鸭使用Quack类处理呱呱叫,所以当performQuack()被调用时,

//叫的职责被委托给Quack对象,而我们得到了真正的呱呱叫

quackBehavior = new Quack();

flyBehavior = new FlyWithWings();

}

@Override

public void display() {

System.out.println("我是绿头鸭!!");

}

 

}


至此一个策略模式实例已经结束,下一篇将学习下观察者模式!!
 

http://www.yayakq.cn/news/176421/

相关文章:

  • 免费的网站搭建外汇网站源码 asp
  • 一个网站要怎么做的吗课程资源网站教建设现状分析
  • 最大郑州网站建设公司企业网站建设公司郑州
  • 国外哪些网站是python做的兼职做网站平台
  • 两个网站共用一个数据库apache wordpress
  • 网站页面设计怎么分析公司做网页
  • 金华建设公司网站公司怎么建立网站吗
  • 建站行业突破公司网站建设的心得
  • 做百度网站排网络整合营销是什么意思
  • 品牌网站制作流程当今网站开发技术的现状
  • 香蜜湖附近网站建设微网站建设哪里便宜
  • 网站建设jz518长沙微网站建设
  • 电器网站建设wordpress首页列表
  • 上海装修网站建设想创业做网站
  • 网站常用的字体建设网站一般流程
  • jsp如何做网站界面浙江省建筑信息港官网
  • 网站怎么做直播间自助旅游网站开发分析报告
  • 网站的命名规则外贸网站wordpress加ssl
  • 杭州市城市建设学校网站登录自治区建设厅的网站查询
  • 做动漫姓氏头像的网站杭州建网站
  • 网站哪里做asp网站源码安装教程
  • 确定网站主题然后规划网站建设广州市服务好的网站制作排名
  • 网站 二次开发怎么做企业管理系统软件有哪些
  • wordpress页面颜色魔方优化大师官网下载
  • 做网站要租服务器中国建设领域专业人员网站
  • 健康湖州网站网络架构有哪些
  • 积分兑换商城网站建设建行深圳分公司
  • 网站轮播效果怎么做微商怎么做分销
  • 做外贸网站服务器要选择哪里的建设网站能盈利吗
  • 网站开发大公司需要资格证吗安徽省建设干部网站