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

城乡建设部网站 挂证域名的申请及注册流程

城乡建设部网站 挂证,域名的申请及注册流程,design工业设计,网站开发慕枫1. 输入法皮肤扩展(抽象类实现) 场景:用户可为输入法更换不同皮肤(如默认皮肤、CSDN皮肤)。 实现: 抽象层:定义抽象类AbstractSkin,声明皮肤显示方法。扩展:新增皮肤只需…

1. 输入法皮肤扩展(抽象类实现)

场景:用户可为输入法更换不同皮肤(如默认皮肤、CSDN皮肤)。
实现:

  • 抽象层:定义抽象类AbstractSkin,声明皮肤显示方法。
  • 扩展:新增皮肤只需继承抽象类并实现方法,无需修改输入法主类。
// 抽象皮肤类
public abstract class AbstractSkin {public abstract void display();
}
// 具体皮肤类
public class DefaultSkin extends AbstractSkin {@Overridepublic void display() { System.out.println("默认皮肤"); }
}
public class CSDNSkin extends AbstractSkin {@Overridepublic void display() { System.out.println("CSDN皮肤"); }
}
// 输入法类(依赖抽象)
public class SouGouInput {private AbstractSkin skin;public void setSkin(AbstractSkin skin) { this.skin = skin; }public void display() { skin.display(); }
}

扩展性:新增TheodoreSkin时,仅需编写新子类,调用setSkin()即可生效。


2. 图形绘制系统(多态替代条件判断)

问题:原始代码通过if-else判断图形类型,新增图形需修改核心逻辑(违反OCP)。

// 违反OCP的原始代码
class GraphicEditor {void drawShape(Shape s) {if (s.m_type == 1) drawRectangle(s);else if (s.m_type == 2) drawCircle(s);}
}

改进:抽象类Shape定义draw()方法,子类实现具体逻辑。

// 遵循OCP的改进代码
abstract class Shape { abstract void draw(); }
class Rectangle extends Shape { @Override void draw() { System.out.println("绘制矩形"); }
}
class Triangle extends Shape { @Override void draw() { System.out.println("绘制三角形"); }
}
// 调用方无需修改
class GraphicEditor { void drawShape(Shape s) { s.draw(); }
}

优势:新增图形只需添加子类,无需改动GraphicEditor


3. 支付方式扩展(策略模式)

场景:支持微信、支付宝等支付方式,新增支付方式时无需修改核心逻辑。
实现:

  • 接口定义:声明支付行为。
  • 扩展:新增支付类实现接口,通过工厂动态创建。
// 支付接口
public interface Payment {void pay();
}
// 具体支付类
public class WeChatPay implements Payment {@Override public void pay() { System.out.println("微信支付"); }
}
// 支付工厂(扩展时新增工厂方法)
public class PaymentFactory {public static Payment create(String type) {if ("wechat".equals(type)) return new WeChatPay();// 扩展支付宝:新增条件分支else if ("alipay".equals(type)) return new AliPay();return null;}
}

扩展性:新增AliPay类后,仅需扩展工厂逻辑,调用方代码不变。


4. 动物行为扩展(接口隔离)

场景:统一管理不同动物的共同行为(如eat()),扩展行为时不影响原有逻辑。

// 动物接口
public interface Animal {void eat();
}
// 具体动物类
public class Cat implements Animal {@Override public void eat() { System.out.println("猫吃鱼"); }// 新增行为(如sleep()):仅扩展当前类,不影响其他动物public void sleep() { System.out.println("猫睡觉"); }
}

说明:新增行为通过扩展具体类实现,接口保持稳定。


5. 图形面积计算(从硬编码到抽象)

问题:原始代码通过instanceof判断图形类型,新增图形需修改计算逻辑。

// 违反OCP的原始代码
double calculateArea(Object shape) {if (shape instanceof Circle) { /* 计算圆面积 */ }else if (shape instanceof Rectangle) { /* 计算矩形面积 */ }
}

改进:定义Shape接口,子类实现计算逻辑。

// 遵循OCP的改进代码
interface Shape { double calculateArea(); }
class Circle implements Shape { @Override double calculateArea() { return Math.PI * radius * radius; }
}

扩展性:新增Triangle类实现接口,计算逻辑无需修改主类。


总结:开闭原则的核心实践

  1. 抽象化:通过接口或抽象类定义稳定框架。
  2. 多态扩展:新增功能通过实现子类完成。
  3. 设计模式结合:工厂、策略模式等增强扩展性。
  4. 降低耦合:调用方依赖抽象而非具体实现。
    通过上述案例可见,开闭原则显著提升了代码的可维护性和扩展性,是构建灵活系统的基础。
http://www.dtcms.com/a/560262.html

相关文章:

  • 咨询网站公司建设计划书网站建设和实现论文
  • 网站建设使用的什么软件网站设计技术文章
  • dw做静态网站百度seo关键词排名优化软件
  • 网站策划专员所需知识主要的cms系统有哪些
  • 泉州seo网站推广威海网站设计公司
  • 一流的微商城网站建设网站建设的会计分录
  • 网站临时会话公司门户网站
  • 建设单位网站cms是什么公司简称
  • 做网站东莞长沙网站建设策划
  • 足球外围网站怎么做做进口产品的网站好
  • 那些网站可以接私活做无锡网站制作公司
  • 哪有网站建设的wordpress手机端模板
  • 丰台建站公司做销售网站的好做么
  • 秒收的网站用vs做网站如何连接数据库
  • 全国网站建设人员数量wordpress review主题
  • 厦门微网站开发wordpress 同步 微信
  • 网站备案需要具备什么条件现在做网站还有用吗
  • 国外互联网裁员长春seo排名
  • 设计网站需要的知识安卓app做网站外壳
  • 坑梓网站建设如何深圳营销型网站建设制作商
  • 优酷视频网站源码口碑seo推广公司
  • 外贸网站建设行业发展企业微信app官网下载
  • 滑动网站wordpress aliyun
  • 淘宝怎么发布网站建设网页制作的公司排名
  • 西安网站建设兼职阳春做网站公司
  • 查网站服务器速度南昌网站排名
  • 提供微网站建设中国建设银行官网站住房公积金
  • 网站备案查询背景布asia域名
  • 烟台网站制作专业电商平台推广方式有哪些
  • 做产地证的网站服装设计公司取名