
软件设计
文章平均质量分 73
,稳步前进
这个作者很懒,什么都没留下…
展开
-
设计模式--适配器模式
文章导航定义示例定义适配器模式: 将一个类的拮抗转换成用户期望的另一个接口,使原本不兼容的类也可以一起工作结构型设计模式亡羊补牢,并非代码初期使用的设计模式,而是在后期类的方法和需求不兼容时进行处理示例很多耳机是圆孔线,而有些手机只支持Type-c的接口.因此,我们在Type-C类型的手机上使用耳机时需要转接口来进行转换, 这个转接口就是一种适配器创建圆孔接口类public class CircularHole { public String connectByCircula原创 2020-09-13 13:42:31 · 243 阅读 · 0 评论 -
设计模式--模板模式
文章导航定义示例定义模板模式: 定义一个骨架, 允许子类为一个或多个步骤提供实现.可一次性实现实现一段逻辑的不变部分,将可变部分留给子类实现避免代码重复, 将各个类的公共行为提取到一个统一父类上示例以完成作业,然后老师抽查作业为例子, 想思路,拿笔本,做作业等步骤都是一样,将不同老师检查作业方式不同作为钩子函数创建一个作业工作类public abstract class Job { protected final void doHomework() { //原创 2020-09-03 19:58:53 · 158 阅读 · 0 评论 -
设计模式--代理模式
文章导航定义示例定义代理模式: 指为其他对象提供一种代理起到中介作用用于保护和增强目标对象无需更改源代码示例玩游戏需要升级,但自己没有时间,请一个代练帮忙升级, 这个代练就是 代理创建一个人物接口,有比如升级的功能public interface Person { public void upgrade();}需要给我的人物升级,创建一个实现类public class Myself implements Person { public void upgrad原创 2020-09-02 18:32:54 · 162 阅读 · 0 评论 -
设计模式--原型模式
文章导航概念定义适用场景浅克隆深克隆概念定义原型模式: 指原用型实例指定创建对象的种类, 并通过复制这些原型创建新的对象适用场景构造函数比较复杂的情况下需要在循环体中产生大量对象时类初始化消耗的资源较多时生成对象非常繁琐时浅克隆浅克隆克隆的对象,复制的是引用的地址. 也就是说如果我们对任意一个对象的属性值进行修改, 全部克隆对象都会被更改值原型接口public interface Prototype { Prototype clone();}具体需要克隆原创 2020-08-31 20:39:24 · 322 阅读 · 0 评论 -
设计模式--单例模式
文章导航单例模式饿汉式单例模式饿汉式单例模式线程安全饿汉式单例模式单例模式确保一个类在任何情况下都绝对只有一个实例,并提供一个全局的访问点饿汉式单例模式在加载时就立即实例化第一种实现public class HungrySingleton { private static final HungrySingleton hungrySingleton = new HungrySingleton(); public HungrySingleton() { } p原创 2020-08-27 20:34:54 · 140 阅读 · 0 评论 -
软件设计原则--合成复用原则
合成复用原则 (Composite/Aggregate Reuse Principle, CARP) : 尽量使用对象组合/聚合,而不是继承关系降低类与类值啊金的欧核对使得系统更加灵活,一个类的更改对其他类造成的影响变小很典型合成复用创建一个数据库连接类public class DBConnection { public String getConnection() { return "MySql 数据库连接"; }}连接的数据库的demopubli.原创 2020-08-25 21:36:47 · 186 阅读 · 0 评论 -
软件设计原则--迪米特原则
迪米特原则 (Law of Demeter LoD): 一个对象应该对其他对象保持最少了解, 又叫最少知道原则,降低类与类之间的耦合度老板需要做一个做直播窗口,了解热门直播平台的价格,老板找到经理,让经理统计好后把结果告诉老板,...原创 2020-08-14 14:49:38 · 230 阅读 · 0 评论 -
软件设计原则--接口隔离原则
接口隔离原则 (Interface Segregation Principle, ISP) : 是指用多个专门的接口, 而不适用单一的总接口, 不应该依赖它不需要的接口接口细化适度, 接口中方法应该尽量少,但不是越少越好接口单一化,不要建立庞大臃肿的接口一个类对另一个类的依赖应该建立在最小接口之上接口隔离符合高内聚,低耦合.具有很好的可读性,扩展性和可维护性设计接口时,需要多花时间思考,考虑业务模式,预判之后可能出现变更或者新的需求所以,对于业务模型的理解是非常重要的以动物行为进行抽象.原创 2020-08-13 16:51:00 · 233 阅读 · 0 评论 -
软件设计原则--开闭原则
开闭原则 (Open-Closed Principle, OCP) : 一个软件实体(类,模块,函数之类的) 应该对扩展开放,对修改关闭强调的是用抽象构建框架, 实现扩展细节,提高系统的可复用性及可维护性面向对象设计中最基本的设计原则其核心思想就是面向抽象编程...原创 2020-08-12 15:45:58 · 155 阅读 · 0 评论 -
软件设计原则--单一职责原则
单一职责 (Simple Responsibility Pinciple, SRP) 是指不要存在多于一个导致类变更的原因降低类的复杂度, 提高类的可读性,系统的稳定性,降低修改风险一个类如果负责两个职责,当需求发生变更,修改其中一个职责的逻辑时,可能会导致另一个职责功能发生意想不到的问题.创建一个 Course 类, 体育课送一套护具,其他课程不送public class Course { public void study(String courseName) { .原创 2020-08-13 16:17:55 · 159 阅读 · 0 评论 -
软件设计原则--依赖倒置原则
依赖倒置原则 (Dependence Inversion Principle, DIP): 高层模块不应该依赖底层模块,二者都应该依赖其抽象.抽象不应该依赖细节, 细节应该依赖抽象.减少类与类之间的耦合,提高系统稳定性,可读性,可维护性降低修改程序造成的风险new 一个小明public class XiaoMing { public void studyScienceCourse(){ System.out.println("小明在学习理科课程"); }.原创 2020-08-12 15:46:39 · 172 阅读 · 0 评论