当前位置: 代码迷 >> 综合
 解决方案列表
  • [综合] 数塔 最优路径问题 -- (第九题)

    如图所示的数塔,从顶部出发,在每个结点可以选择向左或向右走,一直走到底层。要求用动态规划法找到一条路径,使得路径上的数值最大.

    55
    热度
  • [综合] 注重接口,而不是实现 (原则之一)

    注重接口,而不是实现,依赖接口,而不是实现。接口是抽象是稳定的。实现是多变的而且是多种多样的,我们要把现实事物中的公共的,一般的,普遍的东西高度抽象出来,从而形成接口。而把具体的实现方式放到具体的实现类中去;

    78
    热度
  • [综合] 喜欢组合而不是继承 (原则之二)

    喜欢组合而不是继承,使用组合的时候就必须要使用依赖倒置原则,或者使用面向接口编程,其实使用依赖倒置原则比较来得彻底一些,还能降低系统的耦合度,如果我们无限制的使用继承来设计我们的系统那么就会使我们的系统中的类过多,变成类的乘积,即:“类爆炸”,所以大家还是多多使用组合,但是也不能不使用继承哦,呵呵,...

    43
    热度
  • 54
    热度
  • [综合] 状态模式(state) -- (模式之十三)

    1.概念: 状态模式(state):允许一个对象在其状态改变时,改变它的行为。看起来对象似乎修改了它的类。别名:状态对象(ObjectsforState)。 2.图示: 3.使用场景1).一个对象的行为取决于它的状态,并且他必须在运行时刻根据状态改变它的行为。2).一个操作中含有庞大的多分枝的...

    9
    热度
  • [综合] 开-闭原则 -- (原则之三)

    开闭原则,原理其实很简单,即: 对修改关闭,对扩展开放,话虽如此不过在现实中如果想要要能达到这样的设计也绝非易事,这就需要我们有扎实的基本功和经验的积累了,此原则一般采用的就是 面向接口的编程,要对外提供接口,而把具体的实现封装起来!

    33
    热度
  • [综合] 架构师应该而且必须知道的97件事!

    1.客户需求重于个人简历(NitinBorwankar) 客户需求至上。为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违。 2.简化根本复杂性,消除偶发复杂性(NealFord) 分析问题好比拨云见月、水落石出。 3.关键问题可能不是出在技术上(MarkRamm) 团队同心,其利断金。 4.以...

    36
    热度
  • [综合] Single Responsibility Principle (SRP) – 职责单一原则 --- (原则之五)

    单一职责原则,其核心的思想是: 一个类,只做一件事,并把这件事做好,其只有一个引起它变化的原因 。单一职责原则可以看作是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而...

    71
    热度
  • [综合] Common Closure Principle(CCP)–共同封闭原则 -- (原则之六)

    一个包中所有的类应该对同一种类型的变化关闭。一个变化影响一个包,便影响了包中所有的类。一个更简短的说法是:一起修改的类,应该组合在一起(同一个包里)。如果必须修改应用程序里的代码,我们希望所有的修改都发生在一个包里(修改关闭),而不是遍布在很多包里。CCP原则就是把因为某个同样的原因而需要修改的所有...

    18
    热度
  • [综合] 禅...!

    满招损,谦受益。谦让之心, 有如宇宙中的天空,宽广而博大。 有如大地上的海洋和山谷,宽容而深遂。 好争之人,天将与之相争;谦和之人,天将与之相让。

    25
    热度
  • 4
    热度
  • [综合] 设计的臭味,腐化软件的气味

    软件开发的过程中所体现出来的坏味道: 1.僵化性: 很难对系统进行改动,因为每个改动都会迫使许多对系统其它部分作出改动; 2.脆弱性: 对系统的改动往往会导致一些在概念上无关的地方出现问题; 3.牢固性: 很难解开系统的纠结,使之一些功能成为其它系统能够公用的组件; 4.粘滞行...

    37
    热度
  • [综合] JavaScript API函数扩展,你自己有多少?

    /***因为长时间使用java,在js中一些数据类型和数据结构难免觉得不够人性化,不够方便,那怎么办呢?我们可以自己动手封装一些常用了函数,*因为javascript把prototype(原型)留给我们了,呵呵,,好了废话不多说,就来看看我常用的几个函数:*///js关于数组操作的一些扩展方法: /...

    73
    热度
  • [综合] ABSTRACT SERVER -- (模式之十四)

    /**上面是一个灯和控制灯开关的例子,一个是灯,一个是等控制类,如果要控制灯,控制类直接依赖或者作用于灯,这样的设计是最简单也最明了的,*不过根据设计原则我们违反了依赖导致原则(DIP)和开放封闭原则(OCP),依赖倒置即:依赖接口(抽象)而不依赖具体的实现,*此列中依赖于具体的LIGHT(类)了,...

    44
    热度
  • [综合] Linux 压缩认识误区

    以前一直以为只要是压缩文件,文件的大小变会变小的,无论如何也没有考虑过,压缩文件时文件的大小会增加的情况,今天还就遇到了,以图为鉴:

    36
    热度
  • [综合] Linux 之Awk 初见

    Linux之Awk初见awk又叫gawk,patternscanningandprocessinglanguage代码中的{}用于将代码分块,print语句单独出现时的作用是打印相关的内容,awk借用shell的方法,用$1,$2,$3...这样的方式来顺序地表示行(记录)中的不同字段,注意:$0表...

    0
    热度
  • [综合] 面试-算法01

    /***打印九九乘法口诀方法一*/publicvoidchengfa(){for(inti=1;i<=9;i++){intj=1;while(j<=i){System.out.print(j+"*"+i+"="+i*j+"");j++;}System.out.println();}}/*...

    14
    热度
  • [综合] 面试-算法 02

    /**java.util.Date对象,如何转化为”2007-3-2220:23:22”格式的字符串*/publicvoiddateToString(Datedate){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Str...

    92
    热度
  • [综合] 面试算法 -03

    /***题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,*打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。*/publicvoidmethod1(){String[]arr=newString[]{"1","2",...

    25
    热度
  • [综合] 面试算法 - 04

    /***题目:打印出所有的"水仙花数",*所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。*例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*/publicvoidprin...

    28
    热度