我有一个ListView,并与每个列表项我希望它显示一个阴影。 我正在使用Android Lollipop的新高程特性在View上设置一个Z来投射阴影,并且已经使用ActionBar(技术上来说是Lollipop中的一个工具栏)来有效地执行此操作。 我正在使用棒棒糖的海拔,但由于某种原因,它没有在列表项下显示阴影。 以下是每个列表项的布局设置: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" style="@style/block" android:gravity="center" android:layout_gravity="center" android:background="@color/lightgray" > <RelativeLayout android:layout_width="300dp" android:layout_height="300dp" android:layout_marginLeft="40dp" android:layout_marginRight="40dp" android:layout_marginTop="20dp" android:layout_marginBottom="20dp" android:elevation="30dp" > <ImageView android:id="@+id/documentImageView" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" /> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/alphared" android:layout_alignParentBottom="true" > <appuccino.simplyscan.Extra.CustomTextView android:id="@+id/documentName" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/white" app:typeface="light" android:paddingLeft="16dp" android:paddingTop="8dp" android:paddingBottom="4dp" android:singleLine="true" android:text="New Document" android:textSize="27sp"/> <appuccino.simplyscan.Extra.CustomTextView android:id="@+id/documentPageCount" android:layout_width="match_parent" […]
我有一个应用程序,允许用户为他们的帐户添加一个图像。 我想知道如何使用核心数据来存储图像(从相机或照片库中获得),因为我可能会为用户提供一个备份工具,并希望将图像数据传输到服务器。 我碰到过创buildImage模型对象的devisebuild议,并与User模型对象创build了1对1的关系(因此除非需要,才能调用相关的Image对象)。 但是,我不确定如何实际存储图像,以及这在性能方面是否可能是致命的。 对于任何有此尝试的人的方法和陷阱,我将不胜感激。
我知道,Python不支持方法重载,但我遇到了一个问题,我似乎无法以一个很好的Pythonic方式解决。 我正在制作一个angular色需要拍摄各种子弹的游戏,但是如何编写用于创build这些子弹的不同function? 例如,假设我有一个函数,它创build一个子弹以一定的速度从A点移动到B点。 我会写这样一个函数: def add_bullet(sprite, start, headto, speed): … Code … 但是我想编写其他函数来创build子弹如: def add_bullet(sprite, start, direction, speed): def add_bullet(sprite, start, headto, spead, acceleration): def add_bullet(sprite, script): # For bullets that are controlled by a script def add_bullet(sprite, curve, speed): # for bullets with curved paths … And so on … 等很多变化。 有没有更好的方法来做到这一点,而没有使用这么多的关键字参数导致它变得很快丑。 重命名每个函数也很糟糕,因为你得到了add_bullet1 , […]
注意:问题在post末尾。 我已经阅读了关于抽象工厂VS工厂方法的其他stackoverflow线程。 我了解每种模式的意图。 但是,我不清楚这个定义。 Factory Method定义了一个用于创build对象的接口,但是可以让子类决定实例化哪个接口。 工厂方法让类将实例化推迟到子类。 相比之下,抽象工厂提供了一个接口,用于创build相关或依赖对象的族,而不指定具体的类。 – John Feminella 抽象工厂看起来与工厂方法非常相似。 我画了几个UML类来说明我的观点。 注意: 该图来自www.yuml.com,因此它们并不完美。 但是它的免费服务:)。 图表可能不完美。 我仍然在学习GoF的devise模式。 工厂方法: 抽象工厂(只有1个成员): 抽象工厂(更多会员): 问题: 如果抽象工厂只有一个创build者和一个产品,它仍然是抽象工厂模式吗? (创build家庭的界面) 工厂方法的具体创build者可以从一个接口创build吗?还是必须来自一个类? (类将实例化推迟到子类) 如果抽象工厂只能有一个创build者和一个产品,那么抽象工厂和工厂方法之间的唯一区别是,前者的创build者是一个接口,而后者的创build者是一个类?
什么时候在对象中使用工厂方法而不是Factory类是个好主意?
工厂和抽象工厂模式之间的基本区别是什么?
从JavaScripttypes的jQuery文档中 ,我们可以看到这段代码描述了转换为布尔值时string的行为(该主题与这个问题没有关系,但是它只是我find代码的地方): !"" // true !"hello" // false !"true" // false !new Boolean(false) // false 我得到前三个例子,但是我没有得到最后一个例子,因为: new Boolean(false) == false //true !false // true 所以我会假设: !new Boolean(false) // true 但反而: !new Boolean(false) // false, mind = blown 这是什么,我什至不… 是因为: new Boolean(false) === false // false 如果是这样,这有什么用途?
这个问题在解决这个问题上做了很好的工作,但是我很难find关于服务层的确切限制的可靠来源。 对于这个例子,假设我们正在处理书籍,我们想要作者得到书籍。 BookDataMapper可以有一个通用的get()方法来接受条件,比如书籍的唯一标识符,作者姓名等。这个实现相当简单(逻辑上),但是如果我们想要多个条件需要更多的条件复杂的查询? 比方说,我们想要得到某个作者在特定发布者下写的所有书。 我们可以扩展BookDataMapper->get()方法来parsing多个条件,或者我们可以编写一个新的方法,如BookDataMapper->getByAuthorAndPublisher() 。 最好让服务层直接调用这些[更具体的]方法,或者在调用具有多个条件的更通用的BookDataMapper->get()方法之前parsing条件? 在后一种情况下,服务层会做更多的逻辑“繁重工作”,使数据映射器相当简单。 前一个选项会将服务层几乎全部减less到只有中间人,从而在像BookDataMapper->getByAuthorAndPublisher()这样的方法BookDataMapper->getByAuthorAndPublisher()条件逻辑留给数据映射器。 让服务层parsing条件的一个明显的问题是一些域逻辑泄漏出数据映射器。 (这在这里的链接问题中有解释,但是,如果服务层处理条件,则逻辑将不会使其脱离模型层;控制器无论如何都将调用$book_service->getByAuthorAndPublisher() 。
我最近遇到了一个生产者/消费者模式的C#实现。 这非常简单,至less对我来说非常优雅。 它似乎是在2006年前后devise的,所以我想知道这个实现是否是 – 安全 – 仍然适用 代码如下(原代码被引用在http://bytes.com/topic/net/answers/575276-producer-consumer#post2251375 ) using System; using System.Collections; using System.Threading; public class Test { static ProducerConsumer queue; static void Main() { queue = new ProducerConsumer(); new Thread(new ThreadStart(ConsumerJob)).Start(); Random rng = new Random(0); for (int i=0; i < 10; i++) { Console.WriteLine ("Producing {0}", i); queue.Produce(i); Thread.Sleep(rng.Next(1000)); } } static […]
我想要一个简单的类来实现一个固定大小的循环缓冲区。 它应该是高效的,容易在眼睛上,一般types。 编辑:现在不需要是MT能力。 我以后可以随时添加一个锁,在任何情况下都不会是高并发的。 方法应该是:.Add和我猜.List,我检索所有条目。 第二个想法,我认为应该通过索引器来完成检索。 在任何时候,我都希望能够通过索引检索缓冲区中的任何元素。 但请记住,从一个时刻到下一个元素[n]可能会不同,因为循环缓冲区填满并翻转。 这不是一个堆栈,它是一个循环缓冲区。 关于“溢出”:我期望内部会有一个数组来保存项目,随着时间的推移,缓冲区的头部和尾部将围绕该固定数组旋转。 但是这应该是用户不可见的。 应该没有外部可检测的“溢出”事件或行为。 这不是一个学校的任务 – 它最常用于MRUcaching或固定大小的事务或事件日志。