精华内容
下载资源
问答
  • 设计一个C/S系统,能够根据客户端采用接入网络方式的不同,打开的页面不同。 自己有两种猜想: 1,在客户端程序里完成判断,再根据返回值不同导向不同页面链接。 2,在服务端里完成判断。http请求中有包含用来...
  • pc和手机通过usb连接时,怎么设计一个android程序让电脑读出指定的文件夹
  • 如题。初学者,望不吝赐教
  • 程序1:写一个程序:表示手机品牌的两种分类,搭载Android系统与IOS系统。 程序2:在程序1的基础下继续编程:两种品牌的手机都有游戏与学习两个分支,学习区域包括B站等;游戏有:王者荣耀等。 程序3:在程序2的...

    引你入坑的程序


    程序1:用简单的几个类表示出手机系统分为Android与IOS。

    一共需要三个类:手机系统抽象类PhoneOSAndroid系统与IOS系统两个子类。

    PhoneOS手机系统抽象类,提供一个install()安装软件的方法

     /**
     * @create on 2020/6/8 23:32
     * @description 手机系统
     * @author mrdonkey
     */
    abstract class PhoneOS {
        /**
         * 安装方法
         */
        open fun install(){}
    }
    

    Android

    /**
     * @create on 2020/6/8 23:34
     * @description android品牌
     * @author mrdonkey
     */
    open class Android : PhoneOS() {
    }
    

    IOS

    /**
     * @create on 2020/6/8 23:35
     * @description IOS品牌
     * @author mrdonkey
     */
    open class IOS : PhoneOS() {
    }
    

    完成!

    程序2:在程序1的基础下:两种系统的手机都有游戏与学习两类软件,学习包括B站,游戏有:王者荣耀。

    实现的UML图如下
    UML
    AndroidIOS增加两个子类

    AndriodBilibili

    /**
     * @create on 2020/6/8 23:41
     * @description android版Bilibili
     * @author mrdonkey
     */
    class AndroidBilibili :Android(){
        override fun install() {
            println("----->安装Android版Bilibili")
        }
    }
    

    AndroidLOL

    /**
     * @create on 2020/6/8 23:44
     * @description android版LOL
     * @author mrdonkey
     */
    class AndroidLOL : Android() {
        override fun install() {
            println("----->安装Android版LOL")
        }
    }
    

    IOS的代码同上。

    程序3:在程序2的基础下,如果再加上效率的软件,并且再加一个Harmony系统的手机,该如何做?

    若在上面的程序再加一个效率软件,那么分别得在AndroidIOS下新增。若是增加一个新的手机系统,那么就得copy现有系统下的各个软件分支。目前看起来还不算复杂,若软件分支一多、手机系统增加的话,修改就过于麻烦。

    换一种继承结果怎样?

    按手机软件进行分类UML,这样的做法其实与程序2的结构差别不大,增加手机软件的分支或手机系统,也难免多而烦的修改。

    按软件分类

    谨慎使用继承

    之前的设计: 用面向对象的继承进行设计,先有一种手机系统,多种系统就抽象出一个手机系统抽象类PhoneOS,对于每一类软件,就都各自继承各自的系统。再就是从手机的软件分类角度去划分。

    • 分析:很多情况一味的使用继承会带来麻烦。对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它父类的实现有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。让你需要复用子类时,如果继承下来的实现不适合解决新的问题。,则父类必须重写或被其他更合适的类替换。这种依赖关系限制了灵活性与复用性。对于上述的继承结构,如果不断新增软件分类或系统,类的越来越多。
    • 使用继承的条件:继承关系,是一种强耦合的结构,父类变子类必须变。所以一定要是‘is a’关系时再考虑使用继承,而不是任何时候都去使用。
    • 改进:学会运用合成(组合)/聚合原则,即优先使用对象合成/聚合,而不是类继承。

    合成/聚合复用原则


    合成(也叫组合)与聚合都是关联的特色种类。

    合成:表示一种强的‘拥有’关系,体现了部分和整体部分的关系,部分和整体的生命周期一样。
    聚合: 表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不一定是A对象的一部分。

    简单示例

    大雁

    • 大雁有两个翅膀,翅膀与大雁是部分与整体的关系,并且生命周期是相同的,所以它们是合成关系
    • 大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以有多只大雁,所有大雁与雁群是聚合关系

    使用优势

    优先使用对象的合成/聚合将有助于保持每个类被封装,并被集中在单个任务上。这样的类和类的层次会保持比较小的规模,并不太可能增长为不可控制的庞然大物。学会使用对象的职责,而不是结构来考虑问题。

    应用合成/聚合复用原则改写程序3


    分析

    在之前的程序中,利用有手机系统、手机软件分类两块;我们就可以将这两块进行拆分成一个单元,通过聚合关系将手机系统关联手机软件
    分类(因为一个系统拥有多种软件分类),它们是聚合关系;拆成小单元后,每一个模块可以各自变化,不影响其他的模块。

    具体结构与代码

    • 将继承层次利用聚合关系拆分
      拆分成每个小单元
    • 系统与软件是一种聚合关系,即便新增系统或软件,都相互不影响。
      聚合关系

    应用现在的结构设计,即便新增,也不会修改原来的代码(开放-封闭原则)。

    它们之间有一条聚合线,像一座桥!这种设计模式就叫做桥接模式

    桥接模式


    定义

    桥接模式(Bridge),将抽象部分与它的实现部分分类,使它们都可以独立变化。
    这里说的抽象与它的实现分离并不是让抽象类与其子类分离,而是指抽象类用来实现自己的对象(手机系统)和子类用来实现自己对象(软件分类),拆分原本的继承层次,就是分离。
    核心意图:把每个实现(如软件分类)都独立出来,让他们各自变化。这使得每种实现的变化不影响其他的实现,从而达到应对变化的目的。

    基本代码

    • 桥接模式UML图
      桥接模式UML图

    Implementor 实现类

    /**
     * @create on 2020/6/9 23:26
     * @description 实现部分
     * @author mrdonkey
     */
    abstract class Implementor {
        abstract fun operation()
    }
    

    ConcreteImplementorAConcreteImplementorB具体实现类

    /**
     * @create on 2020/6/9 23:30
     * @description 具体实现A
     * @author mrdonkey
     */
    class ConcreteImplementorA:Implementor() {
        override fun operation() {
            println("----->具体实现A的方法执行")
        }
    }
    

    ConcreteImplementorB 如上,省略了。

    Abstraction抽象类

    /**
     * @create on 2020/6/9 23:28
     * @description 抽象部分
     * @author mrdonkey
     */
    open class Abstraction {
    
        lateinit var implementor: Implementor
    
        open fun operation() {
            if (this::implementor.isInitialized) {//如果被初始化才执行
                implementor.operation()
            }
        }
    }
    

    RefinedAbstraction 被提炼的抽象类

    /**
     * @create on 2020/6/9 23:29
     * @description 被提炼的抽象
     * @author mrdonkey
     */
     class RefinedAbstraction:Abstraction() {
        override fun operation() {
            implementor.operation()
        }
    }
    

    Client 客户端

    /**
     * @create on 2020/6/9 23:35
     * @description 客户端类
     * @author mrdonkey
     */
    class Client {
        companion object {
            @JvmStatic
            fun main(args: Array<String>) {
                val abstraction = RefinedAbstraction()
                abstraction.implementor = ConcreteImplementorA()
                abstraction.operation()
    
                abstraction.implementor = ConcreteImplementorB()
                abstraction.operation()
            }
        }
    }
    

    小结

    桥接模式:实际就是实现系统可能有多角度分类。每一种分类都可能变化,那么就把这种多角度分离出来让它们独立变化,减少他们的耦合。

    展开全文
  • 现在在做基于windows phone8平台程序开发的毕业设计,在本地上建了个WCF服务,部署在IIS上,通过windows phone8模拟器上的客户端来调用WCF服务访问数据库。目前,在模拟器上,能实现访问了。现在的问题时我想把程序...
  • - Java源程序怎么跑起来的 -Java平台 Java标准版(Java SE):用来开发客户端的应用程序,应用程序可以独立运行或作为Applet在Web浏览器中运行。 Java企业版(Java EE):用来开发服务器端的应用程序。如,Java ...

    - Java源程序怎么跑起来的

    在这里插入图片描述
    -Java平台

    • Java标准版(Java SE):用来开发客户端的应用程序,应用程序可以独立运行或作为Applet在Web浏览器中运行。
    • Java企业版(Java EE):用来开发服务器端的应用程序。如,Java Servlet和JSP,以及JSF。
    • Java微型版(Java ME):用来开发移动设备(如手机)上运行的应用程序。

    - 为什么java是跨平台的
    在传统的编程中,源代码要编译成可执行代码,需要在其设计好了的平台上才能执行。而java的编程方式是将源代码编译成字节码(bytecode),而字节码只能在java的虚拟机(JVM)上运行。这种编程方式使得只要你的平台上安装有Java虚拟机(JVM)便能执行java程序。

    - JDK、JRE、JVM的关系

    • JVM:Java虚拟机(Java Virtual Machine),一种运行字节码的应用程序。
    • JRE:包括JVM和核心类库,最适合用运行字节码。如果只需运行java程序只要安装JRE就可以了,下载地址:JRE下载地址
    • JDK:Java开发工具包。包括JRE和一个Java编译器和其他程序的工具集。JDK下载(根据计算机配置选择版本)
    展开全文
  •  图标是电脑、手机或其它设备中为各种文件,应用程序或快捷方式设置的一种图形标志。UI最重要组件之一就是图标,随着扁平化设计的发展趋势,越来越注重图标的简洁与寓意表达,平面图标已占主导地位。  UI设计

      UI设计入门知识有哪些?怎么掌握图标设计原则?随着用户体验及审美度的变化,产品界面也在相应的改变,图标作为UI设计师的吸粉利器,被看做是世界上最通用的图形语言。如何才能快速准确地把握图标,掌握图标设计原则,是每一个初学UI设计的人普遍关心的问题,下面就来给大家详细讲解一下。

    image/20200304/31a1bd99b6e88b34c85701222ff5173d.jpeg

      什么是图标?

      图标是电脑、手机或其它设备中为各种文件,应用程序或快捷方式设置的一种图形标志。UI最重要组件之一就是图标,随着扁平化设计的发展趋势,越来越注重图标的简洁与寓意表达,平面图标已占主导地位。

      UI设计图标如何分类?

      按功能分类图标分为:1)应用图标,如搜狐,新浪,网易等网站的logo;2)功能图标,如各类音乐播放器的“开始”“暂停”“快进”图标等。

      按设计形式分类分为:扁平化图标和拟物化图标。扁平化设计特点:简洁,清新,设计感强,没有更多的细节与特效修饰,直接明了的表达出出图标的本意。缺点是识别性差。

      按设计风格分类:1)剪影图标;2)轻拟物图标,在原来拟物图标基础上,减轻厚重质感,去除投影、渐变、纹理转化成扁平化的图标;3)轻质感图标,渐变/投影/不透明度等图标,具有唯一性,细节更加丰富;4)拟物化图标,有形有色有样式有质感的图标;5)叠加图标;6)以文字为主体的图标,如支付宝,淘宝的图标;7)插画图标,通常是游戏应用,直接使用游戏中的角色、道具或画面作为图标。

      UI设计师在使用图标是应该遵守哪些原则?

      1、可识别性。优秀的图标设计的首要前提是表意准确,能让用户一眼就识别出它所代表的含义,能够贴近用户心里的隐喻。

      2、差异性。要想让你的应用从众多的同类产品中脱颖而出,设计师在进行商标设计时,必须在突出产品核心功能的同时表现出差异性来,避免视觉同质化。

      3、延续产品界面。从产品界面中提取设计元素作为应用图标的参考依据,让用户通过应用图标一眼就知道它是什么类型的产品、主色调是什么、设计语言是什么、里面的界面长什么样,这是最完美的设计方法。

      4、突出品牌。在设计知名品牌产品的应用图标时,应充分利用它们的品牌Logo,这些图形已经在用户心里留下深刻的印象,非常易于识别。

      如果你想成为一个UI设计师,那你就必须要熟练掌握图标的用法;如果你想成为一个高端的UI设计师,仅掌握图标远远不够,你还需要掌握各类软件工具,还需要了解如何实现交互设计。

    展开全文
  • 怎么学UI设计入门知识?图标设计要遵守哪些原则?随着用户体验及审美度的变化,产品界面也在相应的改变,图标作为UI设计师的...图标是电脑、手机或其它设备中为各种文件,应用程序或快捷方式设置的一种图形标志。UI...

    怎么学UI设计入门知识?图标设计要遵守哪些原则?随着用户体验及审美度的变化,产品界面也在相应的改变,图标作为UI设计师的吸粉利器,被看做是世界上最通用的图形语言。如何才能快速准确地把握图标,掌握图标设计原则,是每一个初学UI设计的人普遍关心的问题,下面就来给大家详细讲解一下。

     

    怎么学UI设计入门知识 图标设计要遵守哪些原则

     

     

    什么是图标?

    图标是电脑、手机或其它设备中为各种文件,应用程序或快捷方式设置的一种图形标志。UI最重要组件之一就是图标,随着扁平化设计的发展趋势,越来越注重图标的简洁与寓意表达,平面图标已占主导地位。

    UI设计图标如何分类?

    按功能分类图标分为:1)应用图标,如搜狐,新浪,网易等网站的logo;2)功能图标,如各类音乐播放器的“开始”“暂停”“快进”图标等。

    按设计形式分类分为:扁平化图标和拟物化图标。扁平化设计特点:简洁,清新,设计感强,没有更多的细节与特效修饰,直接明了的表达出出图标的本意。缺点是识别性差。

    按设计风格分类:1)剪影图标;2)轻拟物图标,在原来拟物图标基础上,减轻厚重质感,去除投影、渐变、纹理转化成扁平化的图标;3)轻质感图标,渐变/投影/不透明度等图标,具有唯一性,细节更加丰富;4)拟物化图标,有形有色有样式有质感的图标;5)叠加图标;6)以文字为主体的图标,如支付宝,淘宝的图标;7)插画图标,通常是游戏应用,直接使用游戏中的角色、道具或画面作为图标。

    UI设计师在使用图标是应该遵守哪些原则?

    1、可识别性。优秀的图标设计的首要前提是表意准确,能让用户一眼就识别出它所代表的含义,能够贴近用户心里的隐喻。

    2、差异性。要想让你的应用从众多的同类产品中脱颖而出,设计师在进行商标设计时,必须在突出产品核心功能的同时表现出差异性来,避免视觉同质化。

    3、延续产品界面。从产品界面中提取设计元素作为应用图标的参考依据,让用户通过应用图标一眼就知道它是什么类型的产品、主色调是什么、设计语言是什么、里面的界面长什么样,这是最完美的设计方法。

    4、突出品牌。在设计知名品牌产品的应用图标时,应充分利用它们的品牌Logo,这些图形已经在用户心里留下深刻的印象,非常易于识别。

    如果你想成为一个UI设计师,那你就必须要熟练掌握图标的用法;如果你想成为一个高端的UI设计师,仅掌握图标远远不够,你还需要掌握各类软件工具,还需要了解如何实现交互设计。

    展开全文
  • 最近通话记录 蒜头君前几天把最心爱的小麦手机摔坏了,新手机又要好几天才能到货,于是蒜头君...机智的蒜头能够猜到这个手机使用了循环队列来实现最近记录的功能,不过它不会写代码(没手怎么写π_π),于是它来求助
  • Android系统的手机的每一个你能看到的画面都是一个activity,它像是一个画布,随你在上面怎么涂画,画个按钮,画个图片,画个列表,都随你!专业点其实activity就是一个view类的派生类(比如Button, listview,...
  • 第1讲 Java概述 手机135*7130 ;自学参考资源;Java前景与发展;Java三个部分的关系如下;对于Java语言学习的几点建议怎么学;第1讲 Java概述;1.1 面向对象的概念;1.1 面向对象的概念;1.1 面向对象的概念;1.1 面向对象的...
  • 一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是...
  • 作者 Naysawn Naderi ...无论使用的是桌面的,Web的或是手机上的应用程序,用户界面都在其中起着一个重要的作用。Alan Cooper ,用户界面设计的思...
  • 我在最近做了一个工期很赶的官网项目,是PC端的,客户指定要用bootstrap2.3.1...设计稿是1920像素的宽度,主体部分宽度为1200像素,这是妥妥的PC端设计图啊,当初说的也是PC端的官网,并不是手机端的APP,小程序,或者
  • SwitchButton效果今天和大家分享一个基于Qt实现的自定义开关按钮-SwitchButton,可以在程序中用SwitchButton代替QRadioButton或QCheckBox进行一些使能的控制,不仅能实现同样的功能,而且外观和动态效果很现代化,使...
  • 在wifi环境下可以正常使用,但为什么用手机网络无法登录陌陌?使用陌陌iPhone版,如果不想让对方知道我“已读”TA的信息,该怎么操作?下列各项比较,前者大于后者的是(1)生铁与钢的硬度;(2)同质量的铝和镁分别与足...
  • 前一天晚上收拾好了行囊(毛衣+去年EC-final发的棉夹克+两桶泡面+电脑+手机充电器+雨伞+模板),据说长春特别冷,而我们这种南方城市还在穿短袖。 早上7点多的动车,经历11个小时赶往沈阳北,再转动车到长春,真心...
  • iMindMap 11是一个强大的数字思维空间程序即思维导图软件,提供了很多东西。即使所有全新的工作空间和功能,它最先进的版本还包括界面更新,以确保您的经验保持平稳。 它让你的工作更容易了。如果你不能享受工作又...
  • 有关企业和店家来讲,现在最好的社交媒体精准引流方式,可是小程序,这种靠着手机微信,坐享15亿客户,遭受微信流量帮扶的运用。所以,很多企业和店家都开发设计了归属于自己的微信小程序。但是,有一个部分企业和...
  • 简单拨打电话程序

    2019-09-28 08:53:54
    而在Android里是怎么样实现拨打电话的程序呢?我在这里写了一个简单的拨打电话的Demo,供大家参考.一共分为5个步骤. Step 1:新建一个Android工程,命名为phoneCallDemo. Step 2:设计程序的界面,打开main.xml把内容...
  • 苹果今年重新设计了iOS的核心元素以便使用更加便捷,并且iOS14推出了一些全新的功能,将会让iPhone更贴心的服务于你的生活。iOS14带来了全新的APP Library,它是主屏幕所有页面之后所创建的新空间。APP资源库将会...
  • 最近做了一款微信小程序,各方面感觉都很完美(萝卜一直这么自信),今天设计总监告诉我你的小程序怎么返回顶部不好使呀,吓得我赶紧拿手机试试,没毛病啊,我手机(苦逼的安卓机)上点两下就回去了呀,遂去找他理论...
  • 昨天在尚品宅配定了一个电视柜,用小程序设计师的服务做了一下评价,并绑定了微信会员,今天刷微信朋友圈的时候就收到了一条家装体验馆的推送广告。以前看到广告就会点击“不感兴趣”,所以很久没有看到过朋友圈...
  • 程序从一月九号开放之日起,就特别感兴趣,微信小程序设计师张小龙选择1月9号发布开放小程序,(这个和乔帮主发布IPhone的时间相同),外界说法不一,有的说是对iPhone乔帮主这个想通过改写手机移动历史牛人的...
  • 又是svg、又是什么提供几个不同尺寸、又是什么遮罩图、又是修改什么文件等等,唉,不就换个图标嘛,有那么麻烦吗,真不明白Symbian系统的设计怎么想的。好了,言归正传,其实我一开始想到的方法就是对的了,就像在...
  • 微信小程序将在2017年春节前发布,自进入公测以来,已经有不少公司及同等资质的开发者在17个大...会不会真的有一部分用户只用小程序而卸载了手机上的 App? 当前内容版权归码字科技所有并授权显示,盗版必究。阅读原文
  • 前几天,教育部公布了《全国第四轮学科评估结果》,在手机上看起来不太方便,就“撸起袖子加油干”,写了一套脚本把数据收集了一下,做成了微信小程序,叫「学科排名」。 界面 界面长这样: 界面参考了一些优秀...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 203
精华内容 81
关键字:

怎么设计手机程序