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

潍坊专业做网站的公司做网站设计工资多少钱

潍坊专业做网站的公司,做网站设计工资多少钱,排版设计模板免费,深圳企业网站制作服务合成复用原则 (Composite Reuse Principle, CRP) 合成复用原则#xff08;Composite Reuse Principle, CRP#xff09;#xff0c;也被称为组合/聚合复用原则#xff0c;是面向对象设计中的一条重要原则。它的核心思想是#xff1a;优先使用对象组合/聚合#xff0c;而不…合成复用原则 (Composite Reuse Principle, CRP) 合成复用原则Composite Reuse Principle, CRP也被称为组合/聚合复用原则是面向对象设计中的一条重要原则。它的核心思想是优先使用对象组合/聚合而不是通过继承来实现代码复用。该原则旨在提高代码的灵活性和可维护性减少类之间的紧密耦合。 1. 原则解释 合成复用原则强调通过组合或聚合多个对象来实现新的功能而不是通过继承来扩展类的功能。它建议在设计系统时尽量使用组合或聚合来构建复杂对象只有在明确需要继承的情况下才使用继承。 继承表示类与类之间的“是一个”的关系is-a。子类继承父类的所有特性和行为是一种强耦合关系。组合表示类与类之间的“有一个”的关系has-a。一个类通过包含其他类的实例来实现功能是一种松耦合关系。聚合表示类与类之间的“整体-部分”的关系whole-part。类似于组合但更加松散。 2. 违反合成复用原则的例子 假设我们有一个简单的动物系统包括鸟类和鱼类。我们可能会首先设计一个基类 Animal并通过继承来扩展不同的动物类 public class Animal {public void move() {System.out.println(Animal moves);} }public class Bird extends Animal {Overridepublic void move() {System.out.println(Bird flies);} }public class Fish extends Animal {Overridepublic void move() {System.out.println(Fish swims);} }在这个设计中Bird 和 Fish 类继承了 Animal 类并分别重写了 move 方法。然而如果我们需要进一步扩展例如添加更多的行为如吃饭、睡觉这种设计会变得复杂且难以维护。 3. 遵循合成复用原则的改进 为了遵循合成复用原则我们可以通过组合的方式来实现新的功能而不是通过继承。下面是一个改进的设计 // 移动行为接口 public interface MoveBehavior {void move(); }// 飞行行为 public class FlyBehavior implements MoveBehavior {Overridepublic void move() {System.out.println(Bird flies);} }// 游泳行为 public class SwimBehavior implements MoveBehavior {Overridepublic void move() {System.out.println(Fish swims);} }// 动物类 public class Animal {private MoveBehavior moveBehavior;public Animal(MoveBehavior moveBehavior) {this.moveBehavior moveBehavior;}public void performMove() {moveBehavior.move();}public void setMoveBehavior(MoveBehavior moveBehavior) {this.moveBehavior moveBehavior;} }// 主类 public class Main {public static void main(String[] args) {Animal bird new Animal(new FlyBehavior());bird.performMove();Animal fish new Animal(new SwimBehavior());fish.performMove();// 动态改变行为bird.setMoveBehavior(new SwimBehavior());bird.performMove();} }在这个改进后的设计中我们定义了一个 MoveBehavior 接口并实现了具体的移动行为FlyBehavior 和 SwimBehavior。Animal 类通过组合 MoveBehavior 来实现不同的移动行为。这样我们可以在运行时动态地改变动物的行为而不需要修改或继承类。 4. 具体使用示例 让我们来看一个更复杂的例子展示如何在实际开发中遵循合成复用原则。 // 支付方式接口 public interface PaymentMethod {void pay(double amount); }// 信用卡支付 public class CreditCardPayment implements PaymentMethod {Overridepublic void pay(double amount) {System.out.println(Paid amount using Credit Card);} }// 支付宝支付 public class AlipayPayment implements PaymentMethod {Overridepublic void pay(double amount) {System.out.println(Paid amount using Alipay);} }// 用户类 public class User {private PaymentMethod paymentMethod;public User(PaymentMethod paymentMethod) {this.paymentMethod paymentMethod;}public void makePayment(double amount) {paymentMethod.pay(amount);}public void setPaymentMethod(PaymentMethod paymentMethod) {this.paymentMethod paymentMethod;} }// 主类 public class Main {public static void main(String[] args) {User user new User(new CreditCardPayment());user.makePayment(100.0);// 动态改变支付方式user.setPaymentMethod(new AlipayPayment());user.makePayment(200.0);} }在这个例子中我们定义了一个 PaymentMethod 接口并实现了不同的支付方式CreditCardPayment 和 AlipayPayment。User 类通过组合 PaymentMethod 来实现支付功能。这样我们可以在运行时动态地改变用户的支付方式而不需要修改或继承类。 5. 总结 合成复用原则是面向对象设计中的基本原则之一通过优先使用组合或聚合而不是继承可以提高系统的灵活性和可维护性。在实际开发中遵循合成复用原则有助于我们设计出高质量的代码使系统更加稳定和易于扩展。 希望这个博客对你有所帮助。如果你有任何问题或需要进一步的例子请随时告诉我
http://www.dnsts.com.cn/news/37858.html

相关文章:

  • 网站网页设计海报图片网站快照时间
  • 小程序建站平台国家信用信息公示系统四川
  • 自媒体营销的方式有哪些seo五大经验分享
  • 人工智能的网站网站制作公司承担
  • 江西有色建设集团有限公司网站wordpress主机404
  • 网站建设合同的注意事项wordpress自定义末班
  • 知识产权教育网站建设传统建筑网站
  • 网站建设的合同wordpress 自定义评论样式
  • 大学 英文网站建设长沙优化网站推广
  • 无法更新网站主页 dedecms都有哪些可以做app的网站
  • 阿里巴巴网站域名注册企业网银app下载
  • 微信清粉网站开发如何查询企业邮箱
  • 宇讯网站建设中国最新消息新闻
  • 系统网站建设ppt石家庄企业网站制作哪家好
  • 做网站最专业的公司网站建设视频教程网
  • 南京溧水城市建设集团网站大数据毕业后去什么岗位就业
  • 全球云邮登陆网站山东中恒建设集团网站
  • 网站wap版福州设计网站
  • 网站系统设计说明书协会网站建设需要注意什么
  • 那些网站做民宿太原网页设计师招聘信息
  • 安阳 网站建设成都双流 网站建设
  • 杭州网站排名seowordpress4.7.2 xss
  • 网站开发哪里接业务芯片商城网站建设
  • 广告传媒公司杭州seo推广优化公司
  • 西宁做网站好的公司wordpress使用手机号登录
  • 网页设计免费网站推荐苏州公司注册费用
  • 学做宝宝衣服网站好酒店网站源码
  • 天津有哪些好的做网站公司河南移动商城网站建设
  • 网站seo视频成都新津县建设网站
  • 网站建设c云世家宋南南自己做企业网站好做吗