package com.learn.stratege;/*** 当你设计一个类的时候,如果你是站在使用的角度去考虑的话,* 对于这些类公开的接口,你考虑起来就会更加方便一些* * @author Leon.Sun**/
public class DataSorter {/*** 会创建static方法,因为我们是直接类名加方法去访问的,* @param a*/public static void sort(int[] a) {/*** 你知道有多少种排序方法,最常见的大概有七种* 排序口诀:冒择路(路就是插入)兮(兮就是希尔)块归堆* 口诀的意思是冒失的选择一条道路进入的话,你就快进入到坟墓里面去了,* 因为的选择太冒失了,选择鬼门关了* 冒泡 选择 插入 希尔 快速 归并 堆排序* * 对于工作来说,数据结构和算法你只需要了解有这么一种算法,它的特点是什么* 基本上你没有机会,你很少有机会写一个特定算法的实现,数据结构和算法并没有你想的那么重要* 我是说在工作之中,*/for(int i=0;i<a.length;i--) {for(int j=0;j<i-1;j++) {/*** 如果前面的那个数大于后面的那个数*/if(a[j]>a[j+1]) {/*** 两者之间做交换*/swap(a,j,j+1);}}}}/*** 一个数组里的两个东西来做交换* 为了方便我们把参数名改一下* @param a* @param j* @param i*/private static void swap(int[] a, int x, int y) {/*** 先把a[x]的值记在temp里*/int temp = a[x];a[x] = a[y];a[y] = temp;}public static void p(int[] a) {for(int i=0;i<a.length;i++) {/*** 是print不是println,不要换行*/System.out.print(a[i] + " ");}/*** 整个数组输出之后再换行*/System.out.println();}}
package com.learn.stratege;public class Test {public static void main(String[] args) {/*** 我们该怎么调用了,假如我们定义一个数组*/int[] a = {9,5,3,7,1};/*** 假设有这么一个类,排顺序者* 然后调用sort它就会帮我们调整顺序*/DataSorter.sort(a);/*** 然后我们调用p就可以打印顺序*/DataSorter.p(a);}
}

设计模式之_Strategy_02相关推荐

  1. 【Design pattern】设计模式思路总结(一)

    看了一周的设计模式,跟着小菜的思路走! 从简单工厂过渡策略,后面看的这几个模式都是在单一职责,开放--封闭原则,依赖倒转原则下不断的改进,采用模式写出的代码更容易扩展,维护! 比较容易懂. 装饰模式: ...

  2. GOF23设计模式(结构型模式)代理模式~

    代理模式应用场景十分广泛,随便一个框架都会用到,因此学好代理模式对后续框架学习是最基本的要素!!今天我们就来讲讲代理模式! 目录 1.简介 1. 核心作用 2. 角色分析 2. 应用场景 4. 分类 ...

  3. GOF23设计模式(创建型模式)工厂模式

    目录: 一:工厂模式的核心本质 二:关于面向对象的六大基本原则 三:工厂模式的三大类详解(代码示例,详细分析) 首先,上咱本GOF23所有工厂模式的分类表格!!! 创建型模式 单例模式.工厂模式.抽象 ...

  4. GOF23设计模式(创建型模式)单例模式

    目录: 一:单例模式的核心作用.常见应用场景 二:五种单例模式及其实现 三:关于反射和反序列化破解单例模式的漏洞,以及相应的解决方案 四:测试五种单例模式的效率 一:核心作用及常见应用场景: 核心作用 ...

  5. Python七大原则,24种设计模式

    七大设计原则: 1.单一职责原则[SINGLE RESPONSIBILITY PRINCIPLE]:一个类负责一项职责.  2.里氏替换原则[LISKOV SUBSTITUTION PRINCIPLE ...

  6. Java设计模式:单例模式

    学而时习,稳固而之心, 好久没有复习java的知识了,今天有空温习了单例模式,这里记录一下 单例模式是常见的设计模式的一种,其特点就是 指一个类只有一个实例,且该类能自行创建这个实例  , 保证一个类 ...

  7. 设计模式中的六大基本原则

    软件设计中的基本共识: 1,高内聚,低耦合:如果想使软件系统架构稳定,那么我们期望软件的各模块内元素结合的紧密,而模块之间的耦合度(关联性)越低越好.高内聚不仅体现在模块上,单独的类或方法也应该是内聚 ...

  8. JS中的7种设计模式

    第九章Refactoring to OOP Patterns 重构为OOP模式 7种设计模式: 1,模版方法模式(template method) 2,策略模式(strategy) 3,状态模式(st ...

  9. 设计模式之创建型汇总

    设计模式 创建型 工厂方法模式 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 使用场景: 创建对象需要大量重复的代码 客户端(应用层)不依 ...

最新文章

  1. 估计一些物品的质量_新版人教版二年级数学下册《克和千克》教案
  2. bzoj1799 数位dp
  3. Access ADO多连接时数据延迟无法同步无法及时更新的解决办法
  4. 安卓平板排行榜_shopee虾皮台湾安卓市场, shopee虾皮直播下载
  5. 视频播放问题和提高性能方案
  6. mapper同时添加数据只能添加一条_springcloud项目搭建第二节:eureka+数据库
  7. java 格式化时间计算
  8. 图解TCPIP-传输层 TCP报文
  9. 猫眼top前100电影爬取demo(正则初试)
  10. 权重的计算方法,主要有两种:1.线性加权法; 2.层次分析法
  11. python md5加密字符串_Python使用MD5加密字符串示例
  12. 音乐资源免费_3个免费的音乐研究在线资源
  13. 实现 RecyclerView 上拉加载及自动加载
  14. 班级网站java_基于jsp的班级网站-JavaEE实现班级网站 - java项目源码
  15. python如何赚外快 淘宝_Python如何爬取淘宝MM呢?教你一招
  16. OC内存管理常见面试题整理
  17. php根据当前日期判断法定节假日_PHP 判断当前日期是否是法定节假日或者休息日 (原)...
  18. 面对已知问题和未知问题的解决思路
  19. JS简单实现京东网页轮播图
  20. 分布式下如何实现统一日志系统?

热门文章

  1. UITableViewController
  2. 从头开始学JavaScript (七)——函数
  3. R运行大数据的过程中遇到的问题:不能有负长度矢量
  4. ASP.NET 配置文件 configSource 的用法
  5. python if语句
  6. 软件系统分析师与架构师技能大PK(您具备了哪些呢?)
  7. HDU 1536 求解SG函数
  8. WinForm登录模块设计开发
  9. 如何解决与驱动相关的Linux网络问题
  10. linux勒索病毒名称,Linux 也有加密勒索病毒了,也有人真的中了